我在繞過遞歸時遇到了困難,更具體地說,是我的教科書中提供的語法。它看起來像這樣:遞歸調用一個方法
public int sum (int num)
{
int result;
if (num == 1)
result =1;
else
result = num +sum(num -1);
return result;
}
我很困惑專門與行:
result = num + sum(num - 1);
,保持跳閘我是在任何其他程序每次一部分,我們從調用一個方法兩種方式。這個方法是一個靜態方法,並且通過類名跟一個句點,然後是方法名來調用。 (例如:Math.random();) 或者,該方法已通過同一類的對象引用變量進行調用。 (我們首先必須獨立創建) 這個語法似乎不遵循前面兩個例子中的任何一個,我想知道這是爲什麼?僅僅是因爲我們從方法本身內部調用方法,並且在語法上它是如何完成的或者我錯過了什麼?
突出顯示的行相當於'result = num + this.sum(num - 1);'。 –
不知道這與遞歸有什麼關係......你可以在這個語法之後調用同一個類的任何方法* –