我们给你出一道智力题,你需要稍微思考一下。如果你不是特别喜欢做数学智力题,也可以使用 Google 搜索答案。无论如何,你应该搞清楚这道题的原理。你需要实现一个方法,该方法获取一个三位数字,并返回该数字的各位数字之和。
三位数的数字和
- 6
已锁定
评论 (10)
- 受欢迎
- 新
- 旧
你必须先登录才能发表评论
小二郎
25 五月 2022, 10:25
public static int sumDigitsInNumber(int number) {
if(number<10){
return number;
}
return number%10+(sumDigitsInNumber(number/10));
}
递归结束。。。
+1
sky
11 八月 2022, 03:11
厉害👍
0
David L
12 十一月 2021, 04:27
用整除 / 跟 余数% 的方法 就可以得出每个数。
0
后来
29 十月 2021, 02:28
tostring就解决了,一切烦恼 哈哈哈
0
后来
28 十月 2021, 15:22
String str = String.valueOf(number);
char[] cn = str.toCharArray();
for(int i = cn.length-1;i>=0;i--){
char a = cn[i];
System.out.println(a);
}想要一种灵活的方法,不仅仅局限于几位数,使其更人性化。后面不知道怎么将char转换成int了,强行转换就变成ASCII了,而且循环之后还要return数字之间的总和,希望了解的BOSS不吝赐教,谢谢!
0
John Squirrels Website Admin 位于 CodeGym
29 十月 2021, 08:02
您可以打开帮助部分提问。
0
Squad303
23 四月 2022, 12:04
将char转换int只需要将结果减去'0'就可以
0
有梦想的咸鱼
8 五月, 09:00
public static int sumDigitsInNumber(int number) {
//将数字转成字符串
String numStr = number+"";
int sum = 0;
for (int i = 0; i < numStr.length(); i++) {
//获取字符串的每一个下标下的数字,转换成数字相加
sum = sum + Integer.parseInt(String.valueOf(numStr.charAt(i)));
}
return sum;
}
0
晓开
16 五月 2021, 00:36
我是这样想的,int i=2 int j=0 使用Math.pow(10,i),这个方法就是计算10的i次方,使用循环,每次循环j=number/Math.pow(10,i) 得到的数j进行10的取余 然后i--。i要>0
0
萝北北
22 二月 2021, 15:52
提示:需要用到模运算(取余) 符号: “%”
例: int a = 5;
int b = 2;
int c = a % b; // 5/2=2 ... 1 5除以2等于2 余1 c = 1
可以试着用这种方法取得各个位的数字。
+1