String inputRules = JOptionPane.showInputDialog
(
"Enter your rules. \n" +
"In the form: a=x"
);
boolean gotGoodRuleInput = false;
while (!gotGoodRuleInput)
{
gotGoodRuleInput = true;
char a = inputRules.charAt(0);
for (int i= 2; i<inputRules.length(); i++)
{
char x = inputRules.charAt(i);
if (a == x)
{
JOptionPane.showMessageDialog
(
null,
"a can not equal x",
"Error",
JOptionPane.ERROR_MESSAGE
);
gotGoodRuleInput = false;
}
}
}
您好我正在尝试检查用户输入,如果x处的输入等于a,则将显示错误对话框。我遇到的问题是错误对话框“ a不能等于x”不断出现,并且在单击OK时不会关闭。我认为它与for循环有关,但我无法弄清楚。
最佳答案
您的inputRules
设置不在循环之内,因此一旦遇到错误情况,您将永远不会摆脱它。