gpt4 book ai didi

java - 如何使无效数字不添加到我的最终计算和计数器总计中?

转载 作者:行者123 更新时间:2023-12-01 17:48:41 25 4
gpt4 key购买 nike

当我输入一个有非法分数提示的数字时,我的问题出现了,它仍然会向我的计数器添加一个数字,并将该数字添加到总数中,因此平均值会被丢弃。我绞尽脑汁,几乎尝试了一切方法来解决这个问题。代码有点草率,因为我还没有清理它,我只是想先整理一下移动部分。

public class StudentSentinel {

public static void main(String[] args) {
double score;
double total = 0.0;
double average;
int scoreCount = 0;

// create the Scanner object. Name it stdin
Scanner stdin = new Scanner(System.in);

// title at the top of the output
System.out.println(" student score report");;

// read the first score
System.out.printf("Enter a score (1-100, -1 to quit)" +
": ", scoreCount);

score = stdin.nextDouble();
scoreCount++;

while (score != -1.0) {

total += score;
System.out.printf("Enter a score (1-100, -1 to quit)" +
": ", scoreCount);
scoreCount++;
score = stdin.nextDouble();
if (score < -1)
System.out.println("Illegal score. Try again");
else if (score > 100) {
System.out.println("Illegal score. Try again");
}
// increment the loop counter
}
// end of for loop
average = total / scoreCount;
System.out.printf("\nThe average score for %d students is %8.2f\n",
scoreCount, average);
} // end of main
} // end of class definition

最佳答案

首先检查分数是否合法,然后增加计数器并将其添加到您的总分中。您还可以分配 score 并通过单个操作检查其是否为 -1。并始终使用大括号(即使它们是可选的)。就像,

// read the first score
System.out.printf("Enter a score (1-100, -1 to quit)" + ": ", scoreCount);
while ((score = stdin.nextDouble()) != -1.0) {
if (score < -1 || score > 100) {
System.out.println("Illegal score. Try again");
} else {
scoreCount++;
total += score;
}
System.out.printf("Enter a score (1-100, -1 to quit)" + ": ", scoreCount);
}

关于java - 如何使无效数字不添加到我的最终计算和计数器总计中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52682876/

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