【问题标题】:how can I ask again after break [closed]休息后我怎么能再问[关闭]
【发布时间】:2014-03-19 04:39:45
【问题描述】:

我如何在使用 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;
        }

【问题讨论】:

  • 你为什么在那里使用break
  • 再问一遍;或者不要打破。
  • 因为它正在循环输入有效名称
  • 或者使用不同的布尔值
  • 您也没有在循环内输入sEmployee = input.nextLine();,因此该值不会更改为无限循环。

标签: java methods while-loop break


【解决方案1】:

break 跳出循环。如果bInputOk == true,您只想离开循环。您已经在循环条件中拥有它,您可以删除break。此外,您实际上需要再次提示输入,否则您将继续重复使用相同的无效输入(正如 Aduait Pokhriyal 在问题 cmets 中指出的那样),例如:

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 退出循环,它就会这样做。您最初的尝试之所以如此,是因为您告诉它这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 2023-01-08
    • 2018-07-17
    • 2019-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多