我创建了一个maxSumDigits方法,该方法可以处理sumDigits方法。
sumDigits基本上返回其数字的总和。因此,如果您有一个像650这样的数字,它将返回11(6 + 5 + 0)。
我已经创建了那部分,但这是一个两部分的问题,现在我必须创建一个名为maxSumDigits的方法。 maxSumDigits必须在1 ... high范围内返回n的sumDigits(n)的最大值。因此maxSumDigits(high)返回值sumDigits(1),sumDigits(2)....一直到sumDigits(high)。

这样就足够了吗?

    public static int maxSumDigits (int high) {
    int sum = 0;

    for (int i = 0; i <= high; i++) {
        sum = sumDigits(i);

    }
return sum;

}


我对这个问题感到困惑,是不是要把所有结果加起来,还是只为每个结果返回最高值?

编辑:
sumDigits方法:

public static int sumDigits (int n) {
    if (n == 0) {
        return 0;
    }
        else {
            int hundreds = n / 100;
            int remainder = n % 100;
            int tens = remainder / 10;
            int units = remainder % 10;

            n = hundreds + tens + units;
        return n;
        }

最佳答案

将您的循环更改为此:

for (int i = 0; i <= high; i++) {
    sum += sumDigits(i);
}


这样您就可以累积结果。这将为您提供所需的所需输出。

10-05 19:05