方法は次のとおりです。
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 ;
}
このメソッドの可能な出力は次のとおりです(yとnはユーザー入力です)。
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
線の「私は青」と「私は赤」が印刷されているのはなぜですか?最初に入力され、最後に印刷された赤で逆の順序で印刷されるのはなぜですか?