gpt4 book ai didi

java - 生成代码时遇到 if 和 while 循环问题

转载 作者:行者123 更新时间:2023-11-30 01:45:24 26 4
gpt4 key购买 nike

此代码要求得分在 0-100 之间。如果分数介于两者之间,则将其添加到总分中,然后用于计算平均值。我遇到的问题是如果分数大于 100,则放置 if 语句,打印非法语句并要求用户重新输入数字。当我将这个 if 放入 while 循环中时,我会打印出无限数量的非法异常。我该如何解决这个问题?

public class SentinalValuedControlledLoop {

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

Scanner stdin = new Scanner(System.in);

//title at top of output
System.out.println("Sai Bharathula's Score Report");

//read score for student
System.out.printf("Enter a score (0 too 100, -1 to quit #%d:)", studentCount);
score = stdin.nextInt();


while(score !=-1) {
//THIS IS THE IF STATEMENT I AM TALKING ABOUT THAT IS CAUSING ME TROUBLE
if(score >100){
System.out.println("Illegal Score Try Again");
}

if(score >0 && score <= 100) {
System.out.printf ("Enter a score (0 too 100, -1 to quit #%d:)", studentCount);
score = stdin.nextInt();
studentCount++;
}
}

average = total / studentCount;
System.out.printf ("\nThe average score for %d students is %8.2f\n",
studentCount, average);

}
}

最佳答案

您的问题是无限循环的典型示例。

由于这显然是一项硬件作业,让我尝试以这种方式帮助您:L

  • 当分数大于100时,有什么办法可以终止循环吗?
  • 换句话说:您进入循环的分数为,例如101
  • 然后检查“if”
  • 然后打印消息
  • 接下来会发生什么?循环再次开始。

即你必须做一些事情来“逃脱”循环。

HTH

关于java - 生成代码时遇到 if 和 while 循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58224369/

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