我怎么能在休息后再问

时间:2014-03-19 04:39:46

标签: java methods while-loop break

我在休息后如何提出同样的问题?

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;
        }

1 个答案:

答案 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不在循环中,它就会这样做。原始尝试的行为方式是因为你告诉它的行为方式。