如何让以下内容允许使用负数并将其视为正数。防爆。 -91 = 10 它目前适用于获取int和添加所有数字,但仅用于肯定。谢谢!
public static int sumOfDigits(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10;
n = n / 10;
}
return sum;
}
答案 0 :(得分:2)
简单解决方案:添加n = Math.abs(n)
作为函数的第一行。此解决方案适用于除Integer.MIN_VALUE之外的所有数字。
始终正确的解决方案:按n != 0
替换循环条件并返回Math.abs(sum)
作为结果。
答案 1 :(得分:0)
public static int sumOfDigits(int n) {
if (n == 0) return 0;
else return (n % 10) + sumOfDigits(n / 10);
}