我的方法是,例如,如果int [] num123 = {1,2,3};應該輸出123。在主要方法。它正在輸出零點。在convert num方法中,當我更改最後一個零時,它只是輸出它被替換的任何數字。我們不允許使用任何循環,所以這就是我難住的。遞歸方法問題
public int convertNum(int[] num) {
return numHelper(num, 0, num.length - 1, 0);
}
private int numHelper(int[] num, int atIndex, int lastIndex, int result) {
atIndex = num.length - 1;
if (atIndex == lastIndex) {
return result;
}
if (num.length > 0) {
atIndex += 1;
}
return (int) (num[atIndex] * Math.pow(10, lastIndex - atIndex))
+ numHelper(num, atIndex + 1, lastIndex, result);
}
傳遞參數'atIndex'的意義是什麼,當你做的第一件事是用'atIndex = num.length - 1'代替時,**立即結束遞歸**? – Andreas
固定。現在它是outoutput 20 –
請澄清您的具體問題或添加額外的細節,以確切地突出你所需要的。正如目前所寫,很難確切地說出你在問什麼。 –