【发布时间】:2023-02-14 00:28:27
【问题描述】:
我无法找到案例 0310 的数字总和,我的方法返回 2 而不是 4。另一个案例 0300 返回 12 而不是 3。
public static int sumOfDigits(int num){
int sum = 0;
int val = Math.abs(num);
if (val == 0){
return 0;
}
while(val != 0){
sum += val % 10;
val /= 10;
}
return sum;
}
public static void main(String[] Args){
System.out.println(sumOfDigits(0310));
System.out.println(sumOfDigits(0300));
}
当我自己输出0310时,它返回200,我不明白如何让它识别为0310。
【问题讨论】:
-
这些是八进制文字。试试
310和300。 -
这回答了你的问题了吗? Why is 08 not a valid integer literal in Java?
-
有没有一种方法可以测试 0310 和 0300 并尝试让它返回 4,然后删除第一个 0?
标签: java