gpt4 book ai didi

java - Java 及系列新手

转载 作者:行者123 更新时间:2023-12-01 23:05:02 25 4
gpt4 key购买 nike

我是 Java 及系列的新手(使用 Java 以某种方式总结数字)。

用户需要输入n(正偶数)。这可以是 0、2、4 以及上述 2 的任意增量。

如果我输入 4,Java 必须计算 2 + 4 = 6。如果我输入 6,Java 必须计算 2 + 4 + 6 = 12。Java 需要对输入 n...2 进行如下求和: + 4 + 6 + ... + n = 某个总和。我想看看如何通过循环来完成此操作。以下是我的一次尝试。我们只是假设用户将输入一个正偶数,如 2、4、6、8 或 10 等(因此我们不必对此进行测试)。

Scanner console = new Scanner(System.in);
int sum = 0, n;
System.out.println("Give me a positive even integer.");
n = console.nextInt();

while (sum < n) {
sum = sum + 2;
}

System.out.println(sum);

同样,重点是从 2 开始求和,直到用户给出的正偶数为止。

最佳答案

您的循环条件 (sum < n)sum 以来不正确很快就会大于最终期限值 n

但是,您可以在没有循环的情况下执行此操作:

sum = n / 2 * (2 + (n / 2 - 1))

哪里n正如您所描述的那样,是均匀且积极的。这来自算术级数和的公式。

如果您真的想要使用for循环然后使用

int sum = 0;
for (int i = 2; i <= n; i += 2){
sum += i;
}

或者,如果你想要 while然后使用

int sum = 0;
{ /*extra scoping block so we don't emit i*/
int i = 0;
while ((i += 2) <= n){
sum += i;
}
}

注意到(i += 2)是一个计算为 i 的增量值的表达式 .

关于java - Java 及系列新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22914238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com