我在休息后如何提出同样的问题?
System.out.print("Employee Name: ");
sEmployee = input.nextLine();
boolean bInputOk = checkValue(sEmployee,0);
while(!bInputOk)
{
bInputOk = checkValue(sEmployee,0);
System.out.print("Enter a valid name");
break;
}
答案 0 :(得分:2)
break
突破了循环。您希望仅在bInputOk == true
时离开循环。你已经在循环条件下拥有它,你可以放弃break
。此外,您将要再次实际提示输入,否则您将继续重复使用相同的无效输入(如Aduait Pokhriyal指出的问题评论),例如:
while(!bInputOk) {
sEmployee = input.nextLine();
bInputOk = checkValue(sEmployee,0);
System.out.print("Enter a valid name");
}
顺便说一下,你可能想要颠倒打印的顺序和那里的提示,否则你的输入和错误信息会有点混乱:
while(!bInputOk) {
System.out.print("Enter a valid name");
sEmployee = input.nextLine();
bInputOk = checkValue(sEmployee,0);
}
通常,您的程序将完全按照您的要求执行操作。如果你把它告诉break
不在循环中,它就会这样做。原始尝试的行为方式是因为你告诉它的行为方式。