Вот соответствующий код:
public static String[] runTeams (String CPUcolor)
{
boolean z = false ;
//String[] a = new String[6] ;
boolean CPU = false ;
while (z == false)
{
while (CPU==false)
{
String[] a = assignTeams () ;
printOrder (a) ;
for (int i = 1; i<a.length; i++)
{
if (a[i].equals(CPUcolor)) CPU = true ;
}
if (CPU==false)
{
System.out.println ("ERROR YOU NEED TO INCLUDE THE COLOR OF THE CPU IN THE TURN ORDER") ;
}
}
System.out.println ("is this turn order correct? (Y/N)") ;
String s = getIns () ;
while (!((s.equals ("y")) || (s.equals ("Y")) || (s.equals ("n")) || (s.equals ("N"))))
{
System.out.println ("try again") ;
s = getIns () ;
}
if (s.equals ("y") || s.equals ("Y") )
z = true ;
}
return a ;
}
ошибка, которую я получаю:
Risk.java:416: cannot find symbol
symbol : variable a
location: class Risk
return a ;
^
Почему я получил эту ошибку? Кажется, что a
четко определено в строке String[] a = assignTeams () ; and if anything is used by the line
printOrder (a); `мне кажется, что если символ a действительно не может быть найден, то компилятор должен взорваться там, а не в ответной инструкции.
(также метод assignTeams возвращает массив строк.)