• Как работает метод nextLine() в классе Scanner?

    @MiiNiPaa
    nextLine() читает до конца текущей строки (символа перевода строки или конца потока) и возвращает всё, что было в этой строке.

    nextDouble() читает double. Оно не читает и не пропускает ничего ПОСЛЕ double.

    Итак вы вводите что-то вроде "3.15\n", где \n — символ перевода строки.
    nextDouble() извлекает 3.14 и оставляет "\n" в буфере.
    nextLine() натыкается на \n и прекращает работу, прочитав 0 символов — пустую строку.

    Проверьте: введите в одной строке "1 2 Иванов", и оно заработает (Правда пробел перед Иванов прочтётся как часть фамилии)

    Модно вызвать nextLine(), чтобы поглотить этот перенос строки и ожидать новой строки.
    Ответ написан
    3 комментария
  • Как правильно обновить JDK?

    @sanluck
    программирую на java
    В принципе, тут нет универсального решения. У меня сделано так :
    (Вы, кстати, не указали какой ОС пользуетесь. У меня Linux Mint 17)
    1. JDK лежит по пути /usr/lib/jvm/jdk1.x, где x - версия Java. Т.е. например если нужно обновление Java 1.8, то просто меняю содержимое этой папки.
    2. В местах, где используется JDK прописано вручную, какая из них используется. Т.е. например, в NetBeans файл /home/userfolder/Netbeans 8.1/etc/netbeans.conf . Там прописано - netbeans_jdkhome="/usr/lib/jvm/jdk1.8.0".

    Очень неплохой вариант предлагают здесь - Установка Oracle Java 6, 7, 8 в Ubuntu из репозитория. Но это если у вас Убунта или как у меня убунтоподобная система.
    В принципе, выше protven посоветовал похожим образом сделать :)
    Ответ написан
    1 комментарий
  • Как правильно обновить JDK?

    @MiiNiPaa
    Сделайте симлинк на актуальную версию и направляйте всё на него.
    После установки свежей версии просто переназначьте его на новую Яву.
    Ответ написан
    Комментировать
  • Как правильно обновить JDK?

    @protven
    Зависит от вашего окружения. Вообще универсальным ответом будет примерно такой. Используйте в качестве пути до JDK не реальный путь, а сим-линк. Например /opt/java/jdk.
    Это будет сим-линк, который смотрит на /opt/java/jdk1.8_0_65. Этот симлинк и прописывайте в JAVA_HOME и PATH. Теперь при выходе новойверсии jdk, условно говоря 1.9_0_33 вам не нужно будет переписывать значения JAVA_HOME и PATH. Просто ставите новую jdk рядом со старой и переделывайте линк /opt/java/jdk так, чтобы он указывал на новую jdk.
    Ответ написан
    Комментировать