gpt4 book ai didi

Java:用户输入整数的循环未正确总计条目

转载 作者:行者123 更新时间:2023-12-01 19:33:54 27 4
gpt4 key购买 nike

我需要编写一个程序,要求输入整数并循环,直到输入为负整数,然后程序结束。此外,循环需要计算正整数条目的总数并将所有条目加在一起。代码的计数部分似乎工作正常,但我获取所有条目总和的方法不起作用。

我在代码中尝试的是将total=total+input放在循环末尾,但是在测试时这并没有给出正确的总和。

此外,我的类型安全 block 仅适用于第一个条目;如果我在整数后面输入一个字母,程序就会崩溃。难道不应该循环回到每个条目开头的类型安全 block 吗?

我在底部粘贴了输出的副本。

如有任何帮助,我们将不胜感激。

    int count   =   0;
int total = 0;

Scanner scan = new Scanner(System.in);

System.out.print( "Enter an integer, negative to quit: " );

while(!scan.hasNextInt())
{
scan.nextLine();
System.out.println( "That is not an integer." );
System.out.println( "Please enter an integer." );
}

int input = scan.nextInt();

while (input >= 0)
{
System.out.print( "Next integer: " );

input = scan.nextInt();

count++;
total = total + input;
}

System.out.println( "Count: " + count );
System.out.println( "Total: " + total );

当我运行代码时,我得到以下输出:

运行:

输入一个整数,负数退出:h

这不是一个整数。

请输入一个整数:

1

下一个整数:2

下一个整数:3

下一个整数:-1

数量:3

总计:4

构建成功(总时间:10秒)

最佳答案

交换操作顺序。 首先求和并计数,然后得到一个新的输入:

while (input >= 0) {
total = total + input;
count++;

System.out.print("Next integer: ");
input = scan.nextInt();
}

您当前的代码会丢弃第一个输入1,并开始与第二输入2进行求和和计数。

关于Java:用户输入整数的循环未正确总计条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58525820/

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