我有這樣的疑問, 1)下面的程序運行時顯示的任務:if/else語句顯示
class Q1
{
public static void main(String[] args)
{
r(3);
}
public static void r(int x)
{
if (x == 1)
{
System.out.println("hello");
r(10);
}
else
if (x == 9)
System.out.println("bye");
else
{
System.out.println("good");
r(x-1);
System.out.println("bad");
}
}
}
,並在我的邏輯,其結果必然是
good
good
hello
good
bye
但答案是
good
good
hello
good
bye
bad
bad
bad
爲什麼這些壞的底線出現? 當最後一個r(9)被分配給x時,程序遇到if(x == 9)語句,所以它應該停止,這就是我的想法。
請幫我弄清楚這裏的過程和邏輯! 我很困惑...
謝謝。現在,我明白了。 – learnerJ