如何在java中求和整数的数字?

Sha*_*sen 10 java parsing

我很难找到解决这个问题的方法.我正在尝试用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)

  • 这是OP的要求做他的功课,甚至没有将主要功能放入课堂. (9认同)

shm*_*sel 6

使用流的简单解决方案:

int n = 321;
int sum = String.valueOf(n)
    .chars()
    .map(Character::getNumericValue)
    .sum();
Run Code Online (Sandbox Code Playgroud)


nic*_*han 5

递归总是比循环快!

最短和最好:

public static long sumDigits(long i) {
    return i == 0 ? 0 : i % 10 + sumDigits(i / 10);
}
Run Code Online (Sandbox Code Playgroud)

  • 你_真的_确定它们总是更快吗?还是只是更短? (10认同)