Как использовать переменную, определенную в операторе if? - PullRequest
3 голосов
/ 06 июня 2011
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».Как я могу обойти это и все еще быть в состоянии создать строку в зависимости от вышеуказанного условия?

Ответы [ 4 ]

4 голосов
/ 06 июня 2011

Как насчет

public static void main (String[] args){
    String greeting;
    if( index == 1){
       greeting = "hello";
    }else{
       greeting = "goodbye";
    }
 }

 callAMethod(greeting);
}
2 голосов
/ 06 июня 2011

Объявите это вне области действия -

String greeting = "goodbye";
if( index == 1)
{
    greeting = "hello";
}

callAMethod(greeting);
1 голос
/ 06 июня 2011

Вы можете определить переменную приветствия перед оператором:

String greeting;

if (index == 1) {
   greeting = "hello";
} else {
   greeting = "bye";
}

System.out.println(greeting);
1 голос
/ 06 июня 2011

Объявите переменную вне блока if.

Прямо перед оператором if вы можете сказать String greeting = "";

Затем внутри блоков if и else вы говорите greeting = "hello"; и т. Д.

Итак, вы отделили объявление переменной от присвоения ей значения.

...