首页 > 解决方案 > 编写一个名为 AddUp100 的方法,它接受一个值(整数)并返回接下来的 100 个数字的总和(int)

问题描述

编写一个名为 AddUp100 的方法,该方法接受一个值(整数)并在方法完成时返回接下来的 100 个数字 (int) 的总和。它不考虑起始号码,只考虑接下来的 100 个号码。该方法将返回一个 int。

该方法接受 int 范围内的任何整数(正数或负数)并打印出接下来 100 个数字的加法。然后它以整数形式返回答案

注意:它只打印出数字的总和。

因此,如果输入 12,程序将打印出

即程序将加起来 13+14+15+...+ 112. = 6250

这是我的尝试:

private static int AddUp100(int input) {
    input = input + 1;
    int sum  = input;
    
    for (int i = 0; i < 10; i++ ) {
        sum  = sum + i; 
        System.out.println("Sum in loop is: " + sum);
    }
    
    System.out.println("Sum is: " + sum);
    return input;
}

}

第二次编辑 - 它显示了正确的数字相加,但是我如何告诉程序只添加接下来的 100 个数字而不是更多?

private static int AddUp100(int input) {
    int sum  = 0;
    input = input + 1;
    System.out.println("input before loop " + input);
    
    for (int i = input ; i < 100; i++) {
        sum = sum + i;
        System.out.println("Sum:  " + sum);
    }
    return sum;
}

标签: javaeclipse

解决方案


这可以简化为

    long sum = 0;
    long input = 12;
    for (int loop = input + 1; loop <= input + 100; loop++ ) 
        sum += loop;
    
    System.out.println(sum);

输出

    6250

由于您可以从任何int值开始,那么最好将总和和输入存储在一个长值中以防止整数溢出,即 Integer.MAX_VALUE + 1


推荐阅读