import java.io.IOException;
import java.util.Scanner;
public class Four {
public static void main(String[] args) {
while (true) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个分数(0-100):");
double a = input.nextDouble();
try {
if (a>100 || a<0)
//用户输入负数或大于100的时候,提醒用户重新输入。
throw new IOException("请重新输入");
else
grade(a);
break;
}
catch (IOException e) {
//抓取上面提示的错误,如果上面报错,证明用户输入格式不符合,这里实现重新输入。
System.out.println("错误,请从新输入:");
}
}
}
public static void grade(double a) {
String str = null;
while(a>100 || a<0) {
System.out.println("输入错误,请重新输入:");
}
if(a>=0 && a<=100)
str = (a>=90)? "分属于A级" :(a>=60)? "分属于B级" : "分属于C级";
System.out.println(a+str);
}
}
请问为什么
Scanner input = new Scanner(System.in);
System.out.println("请输入一个分数(0-100):");
double a = input.nextDouble();
1. 这段话放到while外面,输入111,提示会无限循环,而放到while里面就只会提示一次
2. 我想在提示错误的时候,那句“请输入一个分数(0-100):”不打出来,需要怎么改,求大神
|
|