这是一个Java初学者问题。程序并不复杂,它只是询问用户输入等级,然后在用户输入" y" ,然后计算最大值,最小值,平均值和总数。
我的麻烦是我输入y时无法停止循环。非常感谢,如果有人能帮助我的话。我已经尝试了很多方法来解决这个问题。
do
{
System.out.println("please go on");
input = keyboard.next();
grade = Integer.parseInt(input);
InputTimes++;
if (grade>Maxgrade)
{
Maxgrade = grade;
}
if(Mingrade>grade)
{
Mingrade= grade;
}
if (input.equals("y"))
{
GameOver = true;
System.out.println("yyyyyyy");
break;
}
else
{
GameOver = false;
System.out.println("nnnnnn");
}
totalgradeNoF = grade+totalgradeNoF;
}while(GameOver==false);
答案 0 :(得分:0)
Scanner keyboard = new Scanner(System.in);
int Maxgrade = 0, Mingrade = 0, InputTimes = 0, grade = 0, totalgradeNoF = 0;
boolean GameOver = false;
String input = "";
do {
System.out.println("Please go on : ('y' to stop)");
input = keyboard.nextLine();
if (input.equals("y")) {
GameOver = true;
} else {
grade = Integer.parseInt(input);
InputTimes++;
if (grade > Maxgrade) {
Maxgrade = grade;
}
if (Mingrade > grade) {
Mingrade = grade;
}
totalgradeNoF = grade + totalgradeNoF;
}
} while (!GameOver);
要改变一些事情:
break
所以!GameoOver
代替GameOver==false
Gameover=false
,只需在初始化时答案 1 :(得分:0)
当你输入' y' NumberFormatException即将到来,因此您需要处理此异常,然后您可以在键入' y'后退出循环。
答案 2 :(得分:0)
用于扫描程序方法nextInt()
和nextLine()
来读取输入。
EX: -
Scanner scan = new Scanner(System.in);
然后我们可以使用scan.nextInt()
来获取get int
我们可以使用scan.nextLine()
获取字符串
https://www.tutorialspoint.com/java/util/scanner_next.htm
此链接可能对您有所帮助。