Java开关-返回到用户输入
我用Java编写了一个小程序:Java开关-返回到用户输入,java,input,switch-statement,joptionpane,Java,Input,Switch Statement,Joptionpane,我用Java编写了一个小程序: String grade = JOptionPane.showInputDialog("What is your grade?"); switch (grade) { case "A": JOptionPane.showMessageDialog(null, "You got an A - Well done!"); break;
String grade = JOptionPane.showInputDialog("What is your grade?");
switch (grade)
{
case "A":
JOptionPane.showMessageDialog(null, "You got an A - Well done!");
break;
case "B":
JOptionPane.showMessageDialog(null, "You got a B - Very good!");
break;
case "C":
JOptionPane.showMessageDialog(null, "You got a C - Good!");
break;
case "D":
JOptionPane.showMessageDialog(null, "You got a D - Study better next time!");
break;
default:
JOptionPane.showMessageDialog(null, "Invalid grade!");
}
}
}
现在,问题是-如果用户输入了无效的等级,则会出现“无效等级!”消息,按“确定”后,它将关闭
如何使程序在收到无效等级的消息后返回到输入阶段?使用带标志的循环:
boolean wrongInput = false;
do {
wrongInput = false;
String grade = JOptionPane.showInputDialog("What is your grade?");
switch (grade)
{
case "A":
JOptionPane.showMessageDialog(null, "You got an A - Well done!");
break;
case "B":
JOptionPane.showMessageDialog(null, "You got a B - Very good!");
break;
case "C":
JOptionPane.showMessageDialog(null, "You got a C - Good!");
break;
case "D":
JOptionPane.showMessageDialog(null, "You got a D - Study better next time!");
break;
default:
JOptionPane.showMessageDialog(null, "Invalid grade!");
wrongInput = true;
}
} while(wrongInput);
您可以使用
while
循环和标签:
loop: while (true) {
String grade = JOptionPane.showInputDialog("What is your grade?");
switch (grade)
{
case "A":
JOptionPane.showMessageDialog(null, "You got an A - Well done!");
break loop;
case "B":
JOptionPane.showMessageDialog(null, "You got a B - Very good!");
break loop;
case "C":
JOptionPane.showMessageDialog(null, "You got a C - Good!");
break loop;
case "D":
JOptionPane.showMessageDialog(null, "You got a D - Study better next time!");
break loop;
default:
JOptionPane.showMessageDialog(null, "Invalid grade!");
}
}
使用flagOK,非常感谢,但我使用的是label方法,这对我来说似乎有点简单。再次感谢!