遞歸對我來說是一種新的練習,我試圖更好地理解它,並理解這些方法如何返回。我有以下程序,但不熟悉如何使用this
關鍵字。您可以查看代碼並通過程序演示方法執行時顯示變量的值嗎?遞歸在這裏如何工作?
我已經嘗試了很多事情來確定計算方法中的值答案在執行後如何保持14,任何人都可以通過前幾個遞歸調用來引導我,因此我可以嘗試找出其餘的部分?
public class Recurs1 {
public static void main (String [] arg) {
Recurs1 r = new Recurs1();
r.compute();
}
public void compute() {
int [] stuff = {1, 2, 3, 4};
int answer = this.go(stuff, 0);
System.out.println("The answer is " + answer);
}
private int go(int[] numbers, int spot) {
if (numbers.length == spot) return spot;
int value = this.go(numbers, spot + 1);
return value + numbers[spot];
}
}
你爲什麼不先嚐試一下,讓我們知道你是怎麼做的?特別是,如果你掙扎或不理解你得到的結果,你可以問一個具體的問題。 –
聽起來像是開始學習如何使用調試器的最佳時機。否則,這只是作業的味道。 –
另外,在這種情況下使用'this'有什麼困惑?您可以在這裏省略關鍵字,它在功能和語義上都是等效的。 –