Исключение типа NullPointerException в java

Следующий код производит эту ошибку:

Exception in thread "main" java.lang. NullPointerException

Каковой может быть причина этой ошибки?

import java.io.*;

public class While {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Console console = System.console();

         String anyQuestions = console.readLine("Are there any questions?  ");
          while (anyQuestions.equals("yes")) {
              String question = console.readLine("What is your question?  ");
              console.printf("I do not understand:  %s", question);
              anyQuestions = console.readLine("Are there any more questions  %n");
        }
        console.printf("Next slide...");
    }
}
2
задан 23.01.2017, 22:25
0 ответов

Почему ты не используешь класс Scanner?

public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc = new Scanner(System.in);

            System.out.println("Are there any questions? ");
            String anyQuestions = sc.next();

            while (anyQuestions.equals("yes")) {
                System.out.println("What is your question?");
                String question = sc.next();
                System.out.println("I do not understand: " + question);

                System.out.println("Are there any more questions");
                anyQuestions = sc.next();
            }
            System.out.println("Next Slide...");
        }
-1
ответ дан 03.12.2019, 17:32
  • 1
    Спасибо! Функционирует лучше, который я утешил! Я буду продолжать использовать scanner. –  23.01.2017, 20:47
  • 2
    Каким-то raxon я имею ошибку в console.printf (" I do not understand: %s" question); –  23.01.2017, 20:48
  • 3
    Замени это этим: System.out.println("I do not understand: " + question); –  23.01.2017, 21:17
  • 4
    @MarioGomez manté n có я говорю, что ты имеешь с Console, но выполни твою программу в терминале или консоли и allí verá s результаты. –  23.01.2017, 21:26

Использовав System.console в IDE всегда он возвратит null, deberar скроллировать файл Java с консоли команды, если он состоит в том, что ты нуждаешься в том, чтобы увидеть результаты.

В равного ты мог бы использовать clas Scanner

 //importas tu clase scanner
 import java.util.Scanner;

public class While {

public static void main(String[] args) {
// TODO Auto-generated method stub
String respuesta;

//instanciamos la clase escanner para poder leer
Scanner scanner = new Scanner(System.in);
//mandamos un mensaje al usuario
System.out.println("Are there any questions?");
//leemos la respuesta
respuesta = scanner.nextLine();

while (respuesta.equalsIgnoreCase("yes")) {
  System.out.println("What is your question?  ");
  //leemos la respuesta
  String question = scanner.nextLine();
  System.out.println("I do not understand:  %s", question);
  //mandamos un mensaje al usuario
  System.out.println("Are there any questions?");
  //leemos la respuesta
  respuesta = scanner.nextLine();
}


  scanner.close();

}
}
-1
ответ дан 03.12.2019, 17:32
  • 1
    Спасибо Мигель! Я буду продолжать использовать класс scanner! –  23.01.2017, 21:09
  • 2
    " Использовав System.console в IDE всегда retornará null" в то время как это причина NPE, существуют способы это менять на IDE или bastarí чтобы с выполнять aplicació n с cmd или терминал. Не необходимо использовать Scanner. –  23.01.2017, 21:25
  • 3
    @LuiggiMendoza 1.-, поскольку ты сможешь читать хорошо, там говорит и я назначаю встречу " В равного ты мог бы использовать clas Scanner" 2.-" deberá s скроллировать файл Java с консоли команды, если он состоит в том, что ты нуждаешься в том, чтобы увидеть их resultados.". там я объясняю, что он должен выполнять это с конечной остановки, и я даю как совет использовать класс Scanner больше не вынуждаю, чтобы использовать ее –  23.01.2017, 21:37
  • 4
    Конечно и поэтому оставшаяся часть твоего ответа состоит в конвертировании có говорит OP с использованием Scanner... –  23.01.2017, 21:39
  • 5
    Хороший для того, чтобы становиться изношенным, спасибо за retroalimentació n. –  23.01.2017, 21:40