【发布时间】:2016-07-17 02:33:29
【问题描述】:
使用 switch 语句名称 GradeReport 编写一个程序,它读取 来自用户的等级并相应地打印 cmets。
说明:提示用户输入他们的等级用户必须得到提示 如果输入不是整数,则输入数字等级(0 到 100) 0到100之间,提示用户重新输入
如果不满足条件,则使用 do 循环重新输入成绩 或等级不在 0 到 100 之间,然后在屏幕上提示用户 如下(“错误:您必须输入一个介于 0 和 100 之间的整数”);”
还包含一个 while 循环来跟踪尝试。创建一个 变量名“tries”,将跟踪不超过 3 次的尝试 因此,如果输入不是 0 到 100 之间的整数,则提示 用户重新进入
我在搞清楚 while 循环以跟踪尝试时遇到问题。
这是我所拥有的:
import java.util.Scanner;
public class GradeReport {
public static void main(String[] args) {
int grade, category;
Scanner scan = new Scanner(System.in);
do {
System.out.println("Enter a numeric grade (0 to 100): ");
grade = scan.nextInt();
if (grade >= 0 && grade <= 100)
break;
System.out.println("Error: You must re-enter an integer between 0 and 100");
} while (true);
int tries = 1;
while (tries <= 3) {
System.out.println("Tries: " + tries);
tries++;
category = grade / 10;
System.out.print("That grade is ");
switch (category) {
case 10:
System.out.println("a perfect score. Well done.");
break;
case 9:
System.out.println("well above average. Excellent.");
break;
case 8:
System.out.println("above average. Nice job.");
break;
case 7:
System.out.println("average.");
break;
case 6:
System.out.println("below average. You should see the");
System.out.println("instructor to clarify the material " + "presented in class.");
break;
default:
System.out.println("not passing.");
}
}
}
}
【问题讨论】:
-
"我在弄清楚 while 循环以跟踪尝试时遇到了问题" 您能否解释/描述一下您的具体问题是什么?您尝试过什么,遇到什么困难?
-
我想创建一个变量“tries”来跟踪不超过 3 的尝试,因此如果输入不是 0 到 100 之间的整数,提示用户重新输入。我有一个想法,但不完全是。
-
对此投反对票,在我看来是错误的。这是一个明确的问题,不应该仅仅因为这对我们大多数人来说是一个非常简单的解决方案而被否决。请记住,我们在某些时候都是新人。
标签: java while-loop switch-statement do-while