gpt4 book ai didi

Java While 循环未正确添加

转载 作者:行者123 更新时间:2023-12-01 17:18:22 27 4
gpt4 key购买 nike

我不明白为什么每次循环时都不能正确累加。还有一个问题是,当输入 -9999 时,while 循环不输出总和。

import java.util.*;
public class list
{
public static void main(String args [])
{
Scanner sc = new Scanner(System.in);
int Number, Sum = 0;
System.out.println("Enter the list of whole numbers, terminate by -9999> ");
Number = sc.nextInt();
Sum += Number;
while (Number != -9999)
{
if (Number > 1 && Number < 100)
{
Sum += Number;
Number = sc.nextInt();
}
else
System.out.println("Please enter a number between 1 and 100");
Number = sc.nextInt();
}
System.out.println("Sum is " + Sum);
}
}

最佳答案

您可能会在循环中两次询问一个数字。一旦进入if阻止,并在您的 else 之后一次堵塞。如果没有括号,则只有第一个语句是 block 。而不是

else
System.out.println("Please enter a number between 1 and 100");
Number = sc.nextInt();

尝试

else
{
System.out.println("Please enter a number between 1 and 100");
Number = sc.nextInt();
}

此外,您的第一个数字会添加两次;删除 while 之前的第一个添加循环。

此外,虽然它是合法的并且可能是您的实际要求,但这一行

if (Number > 1 && Number < 100)

不接受1100 。您的要求可能包括接受 1100 ,在这种情况下,条件应为 Number >= 1 && Number <= 100 .

顺便说一句,传统上Java变量以小写字母开头,而类以大写字母开头,这意味着变量NumberSum应该重命名numbersum ,分别。

关于Java While 循环未正确添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20482197/

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