如何在javaclass中将n求和到x?

How to sum n to x in java class?

我正在写一个 java class 可以用作计算器。

我想编写一个程序,当用户选择 @ 并输入值时,return计算 num1 到 num2 的总和。

例如,如果您输入 1 和 100,则代码应 return 5050 作为结果。

我应该使用循环吗? 我最近开始学习 java 语言。所以我对语法没信心。

感谢您的帮助。

下面是一段计算器代码。

public int calc(int num1, int num2, String op) {
    int result = 0;

    if(op.equals("+")) {
        result = num1 + num2;
    }

    else if(op.equals("@")) {
        //I need help with this part.

    }

    return result;
    
}
else if(op.equals("@")) {
    if (num1 < num2) {
        while (num1 <= num2) {
            result += num1++;
        }
    } else if (num1 > num2) {
        System.out.println("ERROR: num1 must be less than num2");
    } else {
        reusult = num1;
    }
}

Should I use loops?

当然可以。如果你愿意。

请注意,这里有一个数学公式。考虑对 1 到 10 的数字求和。

你可以去:1+2+3+4+5+6+7+8+9+10。换句话说,int sum = 0; for (int i = lowest; i <= highest; i++) sum += i;.

或者,您意识到您还可以重写:将最高和最低数字配对:1+10 + 2+9 + 3+8 + 4+7 + 5+6。然后,意识到您总是以总和相同的对序列结束:即 11 + 11 + 11 + 11 + 11。并且会有 'length/2' 这样的对。换句话说,对于 'even' 数量的序号,它是 (highest + lowest) * ((1+highest-lowest)/2。对于 'odd' 数量的序号,它是相同的,除了你在最后添加中间的数字。

如果重点是学习数学,请尝试对上述内容进行编程。如果是学习循环,嘿,for循环可能会慢一些,但它是一台计算机。它可以遍历几百万个数字并将它们加起来比眨眼还快。任何一个都可以正常工作。