Я новичок в Java, и я нахожу это очень сложным из-за ошибок, с которыми я сталкиваюсь. Так что у меня есть проблемы с этим фрагментом кода:Ошибка с переменной Scanner во время цикла
Main Class:
public class Main {
public static void main(String[] args){
Answer a = new Answer();
String ans = null;
while(ans != "A"){
ans = a.create();
System.out.print(ans + "\n");
}
}
}
Ответ класс:
import java.util.Scanner;
public class Answer {
public String create(){
Scanner s = new Scanner(System.in);
return s.next();
}
}
Я хочу, чтобы программа позволит мне написать что-то. Тогда, если то, что я написал, не было буквой А, программа должна позволить мне написать что-то еще, иначе нужно остановиться. Но, хотя я пишу «А», программа все еще держится, позволяя мне написать что-то еще. Что не так с кодом?
Исключение в потоке "основного" java.lang.NullPointerException \t в Main.main (Main.java:14) (В строке 14 у меня в то время как (! Ans.equals ("А"))) – Arnau
Это потому что изначально значение ans равно null. Вы должны установить его на то, что не является «A» –
Хорошо. Оно работает! Хотя я не понимаю, почему я получил ошибку, если я установил ans = null – Arnau