因此,我必须编写递归方法来累加特定数字中的数字值。例如,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