gpt4 book ai didi

java - 循环和统计。未打印正确的值

转载 作者:行者123 更新时间:2023-11-30 02:58:34 25 4
gpt4 key购买 nike

我编写了一个程序,提示用户输入 10 个成绩,并计算成绩总和、成绩平均值、最高成绩、最低成绩以及最高和最低之间的范围。然后它使用 system.out.print 打印所有这些内容。

我的问题是,除了最高值之外,一切都有效。这是我的代码。

int x = 10; int i = 1; int sum = 0; int guess = 100; int max = 100;

while (i <= 10) {
x = Integer.parseInt(JOptionPane.showInputDialog("Enter one grade at a time."));
i++;
sum+=x;

if(x<guess){
guess = x;
}
if(x>max){
max = x;

}

}
System.out.println("The sum of your grades is " + sum);
System.out.println("The average of your grades is " + (sum/10));
System.out.println("The smallest grade is " +guess);
System.out.println("The highest grade is " +max);
System.out.println("The range of your grades is " + (max-guess));

假设输入的 10 个数字是 10,20,30,40,50,60,70,80,90,99,它将打印“最高等级是 100”,但未输入 100。它总是显示 100。我该如何解决这个问题?谢谢!!

最佳答案

max 设置为 0 而不是 100:

int max = 0;

您最初将 max 设置为 100。这意味着在最后一次迭代结束时(其中 x 等于 99),此条件

if(x > max)

将是

(请注意 100 比您在测试样本中使用的任何数字都大。如果包含大于 100 的数字,则情况不会如此,并且您的代码似乎工作。)

关于java - 循环和统计。未打印正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36530022/

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