public class Help { public static void main (String[] args) { if (index = 1) { String greeting = "hello"; } else { String greeting = "goodbye"; } } callAMethod(greeting); }
Когда я определяю строку в операторе if, я получаю ошибку «not find symbol».Как я могу обойти это и все еще быть в состоянии создать строку в зависимости от вышеуказанного условия?
Как насчет
public static void main (String[] args){ String greeting; if( index == 1){ greeting = "hello"; }else{ greeting = "goodbye"; } } callAMethod(greeting); }
Объявите это вне области действия -
String greeting = "goodbye"; if( index == 1) { greeting = "hello"; } callAMethod(greeting);
Вы можете определить переменную приветствия перед оператором:
String greeting; if (index == 1) { greeting = "hello"; } else { greeting = "bye"; } System.out.println(greeting);
Объявите переменную вне блока if.
if
Прямо перед оператором if вы можете сказать String greeting = "";
String greeting = "";
Затем внутри блоков if и else вы говорите greeting = "hello"; и т. Д.
else
greeting = "hello";
Итак, вы отделили объявление переменной от присвоения ей значения.