ar.readLine не читает входные данные от пользователя? - PullRequest
0 голосов
/ 05 февраля 2019

Резюме 1. Я импортирую java.io.console, я не получаю никакой ошибки в своем коде, код правильный, я думал, что в программе Eclipse происходит какая-то ошибка ... Ошибка:

Exception in thread "main" java.lang.NullPointerException   at
loops.Escapey.main(Escapey.java:9)

Кодировка:

package loops;

import java.io.Console;
public class Escapey {
public static void main(String[] args) {

    Console ar = System.console(); // creating a new object for console

    String name = ar.readLine("how old are you ?"); //reads a user input 
    System.out.printf("%s - pretty age",name);
}
}

Ouput: - Я кроме выходных сколько тебе лет ??18 18 - симпатичный возраст, но фактический вывод получает ошибку ... Исключение в потоке "main" java.lang.NullPointerException at loops.Escapey.main (Escapey.java:9)

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Если мы запустим это в IDE (Intellij), оно выдаст исключение нулевого указателя.Поскольку это связано с консолью, я попытался выполнить это в командной строке, и она отлично работает.

Выполните эти шаги в терминале или командной строке, и это будет работать

1) javac Escapey.java
2) java Escapey
0 голосов
/ 05 февраля 2019

Я предполагаю, что вы запускаете это в какой-то IDE.Поскольку System.console возвращает подключенную консоль, если вы запустите ее в IDE, она вернет NULL.Лучше всего использовать класс сканера.Если вы действительно хотите использовать System.console, вам придется протестировать его на какой-нибудь консоли.Если на Mac, запустите терминал.В Linux будет работать любое из терминальных приложений.

...