题目

用递归把整数各位数字求和

思路

本题用递归求整数各位数字之和。 若 n<10 直接返回 n;否则返回个位 n%10 加上 sumDigits(n/10)。负数可先取绝对值再递归。

解题分析

递归:个位 + digit_sum(n/10),基线 n==0 返回 0。负数按题目处理,可先取绝对值。

完整程序

import java.io.*;

public class Main {
    public static void main(String[] args) {
        int n = 1234, s = 0;
        while (n != 0) {
            s += n % 10;
            n /= 10;
        }
        System.out.println(s);
    }
}

运行示例

输出:

10