我很难找到解决这个问题的方法.我正在尝试用Java开发一个带有数字的程序,例如321,并找到数字的总和,在这种情况下3 + 2 + 1 = 6.我需要任何三位数字的所有数字将它们加在一起,并使用%余数符号存储该值.这让我感到困惑,我会感激任何人的想法.
Ank*_*hal 39
public static void main(String[] args) {
int num = 321;
int sum = 0;
while (num > 0) {
sum = sum + num % 10;
num = num / 10;
}
System.out.println(sum);
}
Run Code Online (Sandbox Code Playgroud)
产量
6
Run Code Online (Sandbox Code Playgroud)
使用流的简单解决方案:
int n = 321;
int sum = String.valueOf(n)
.chars()
.map(Character::getNumericValue)
.sum();
Run Code Online (Sandbox Code Playgroud)
递归总是比循环快!
最短和最好:
public static long sumDigits(long i) {
return i == 0 ? 0 : i % 10 + sumDigits(i / 10);
}
Run Code Online (Sandbox Code Playgroud)