因此,我必須編寫遞歸方法來累加特定數字中的數字值。例如,digitSum(1234)返回10(這是總和1 + 2 + 3 + 4)。Java遞歸方法將參數的數字相加
到目前爲止,我有這樣的:
public static int digitSum (int n) {
if(n<10) { return n ;} //basecase
else return !!! ;
}
我要補充的!部分,謝謝
因此,我必須編寫遞歸方法來累加特定數字中的數字值。例如,digitSum(1234)返回10(這是總和1 + 2 + 3 + 4)。Java遞歸方法將參數的數字相加
到目前爲止,我有這樣的:
public static int digitSum (int n) {
if(n<10) { return n ;} //basecase
else return !!! ;
}
我要補充的!部分,謝謝
只要它寫在簡單的英語:當你有1234
,初始步驟應該是做sum(123) + 4
當你將其轉換爲代碼:
public static int digitSum (int n) {
if(n<10) {
return n
}
else
return n%10 + digitSum(n/10);
}
n%10
給你的最後一個數字,n/10
讓你的剩餘部分。
當你有n=1234
,n%10 = 4
和n/10 = 123
。所以根據你的普通英文sum(123) + 4
它應該是digitSum(n/10) + (n%10)
家庭作業?
1234餘10是如圖4所示,1234至1210年爲123你schould返回digitSum(123)+ 4