Я пытаюсь написать программу здесь, и в моем случае if-else у меня есть String messageToStudent
, инициализируйте, если taskCompleted == 'y' || taskCompleted == 'Y'
, и в моем заявлении else, чтобы инициализировать его для чего-либо еще. однако, когда я пытаюсь скомпилировать его, это может быть не инициализировано messageToStudent
. Теперь я подумал, что сделал это через код, который будет инициализирован ОДНОЙ из строк messageToStudent
, но я думаю, что я ошибся. Вот то, что я до сих пор:Инициализация переменной String в if-else
if(school == 1) {
System.out.println(name + ", have you started your engineering project yet?");
taskCompleted = scan.nextLine().charAt(0);
if (taskCompleted == 'y' || taskCompleted == 'Y')
messageToStudent = "Good for you! Keep me updated on your progress.";
System.out.println(messageToStudent);
} else {
messageToStudent = "That's not good at all. It's nearly November!";
}
System.out.println(messageToStudent);
Компилятор недостаточно умен. Дайте ему начальное значение '' '' или 'null', когда вы объявите переменную. –
Если школа '1', а taskCompleted -' N', где инициализируется 'messageToStudent'? – azurefrog
вы должны прочитать [NullPointerException] (http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how-do-i-fix-it) – gudthing