使用开关语句名称GradeReport编写一个程序,它从用户那里读取一个等级,并相应地打印注释。说明:如果输入不是介于0到100之间的整数,则提示用户输入数字等级(0到100)必须是提示符,提示用户重新输入do循环以重新输入等级,如果不满足条件或级别不介于0到100之间,则在屏幕上提示用户如下(“错误:必须输入介于0到100之间的整数”);“还包含一个while循环以跟踪尝试。创建一个变量名“尝试”,它将跟踪不超过3次的尝试,因此,如果输入不是0到100之间的整数,则提示用户重新输入
我有一个问题,找出,而循环,以跟踪尝试。
我现在拥有的是:
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.");
}
}
}
}发布于 2016-03-29 13:46:55
这是你尝试的部分:
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++;
...
You need to define `int tries = 0;` before trying, and integrate the incrementation inside the loop where you actually try. I'm sure you can figure out the rest yourself. You seem to be pretty close :)编辑:由于其他人试图给出完整的答案(而且不是很好),下面是我要做的方法:导入java.util.Scanner;
public class GradeReport {
public static void main(String[] args) {
int grade, category;
int tries = 0;
Scanner scan = new Scanner(System.in);
do {
tries++;
System.out.println("Enter a numeric grade (0 to 100): ");
grade = scan.nextInt();
if(grade >= 0 && grade <= 100){
break;
}
System.out.println("attempt " + tries + " unsuccessful");
if(tries >= 3){
System.out.println("No more attempts.");
break;
}
System.out.println("Error: You must re-enter an integer between 0 and 100");
} while (true);
if(grade >= 0 && grade <= 100){
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.");
}
}
}
}https://stackoverflow.com/questions/36285961
复制相似问题