Вот метод:Что не так с этим методом?
public static String CPUcolor()
{
System.out.println ("What color am I?") ;
String s = getIns() ;
System.out.println ("are you sure I'm "+s+"? (Y/N)") ;
String a = getIns() ;
while (!((a.equals ("y")) || (a.equals ("Y")) || (a.equals ("n")) || (a.equals ("N"))))
{
System.out.println ("try again") ;
a = getIns() ;
}
if (a.equals ("n") || a.equals("N"))
{CPUcolor() ;}
System.out.println ("I am "+s) ;
return s ;
}
здесь возможный выход этого метода (у-х и п являются пользовательские вводы):
What color am I? red are you sure I'm red? (Y/N) N What color am I? blue are you sure I'm blue? (Y/N) N What color am I? Yellow are you sure I'm Yellow? (Y/N) y I am Yellow I am blue I am red
Почему это, что линия в «Я синий "и" Я красный "? Почему они печатаются в обратном порядке с красным, первое введенное, напечатанное последним?
См. Http://stackoverflow.com/questions/2611573#2611589, почему рекурсия является неправильной для этой проблемы. – vladr