gpt4 book ai didi

java - 如何退出Java循环?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:50:38 25 4
gpt4 key购买 nike

如果您能帮助我完成 Java 类(class)的作业,我将不胜感激。问题的提示是:

编写一个程序,读取一个非负整数列表,并显示最大整数、最小整数和所有整数的平均值。用户通过输入一个不用于查找最大、最小和平均值的负标记值来指示输入结束。平均值应该是 double 类型的值,以便用小数部分计算。

我的代码遇到的问题是,在运行时,循环不会结束,除非输入的第一个值是负数,在这种情况下它会返回:

输入的最大数量为:0输入的最小数量是:0输入的数字的平均值为:NaN

求助!谢谢。 -山姆

代码:

package blah;
import java.util.Scanner;
public class blahblah
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println ("Please enter a list of positive integers.");
System.out.println ("Please enter a negative integer when finished.");

int in = 0;
int max = 0;
int min = 0;
int sum = 0;
int count = 0;
in = keyboard.nextInt();

while (in>=0)
{
if (in > max) {
in = max;
}
if (in < min) {
in = min;
}
sum += in;
count++;
if (in < 0) {
break;
}
}

System.out.println("The maximum number entered was: " + max);
System.out.println("The minimum number entered was: " + min);
System.out.println("The average of the numbers entered was: " + (double)sum/count);
}
}

最佳答案

您需要在循环中再次读取 nextInt:

while (in>=0)
{
if (in>max){
max=in;
}
if (in<min){
min=in;
}
sum += in;
count++;
in = keyboard.nextInt();
//Check not needed here, handled by while loop
//if (in<0){
// break;
//}
}

根据评论编辑:您的作业方向错误,因此您将输入设置为等于最小/最大而不是将最小/最大设置为等于输入

关于java - 如何退出Java循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15691981/

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