Java - 如何退出While循环中间循环

时间:2014-11-20 18:35:29

标签: java if-statement while-loop

我正在尝试制作一个程序,要求电工输入Volts中的数字。如果他/她输入的值大于20或小于0,程序应该在不提示用户再次进入的情况下结束。现在,我有它,所以它提示用户退出或继续,这是我不想要的。以下是该计划的内容:

public static void main(String[] args) {

    Scanner kbReader = new Scanner(System.in);
    String input = "";
    int voltage;
    boolean Loop = true;

    while (Loop) {

        System.out.print("Enter a numeric value of 0 to 20 volts");
        input = kbReader.nextLine();
        voltage = Integer.parseInt(input);

        if (voltage < 0 || voltage > 20) {
            System.out.println("Invalid input.");
        }

        else if (voltage >= 0 && voltage < 5) {
            System.out.println("Insufficient Voltage - Replace Relay"); 
        }

        else if (voltage >= 5 && voltage < 15) {
            System.out.println("Low Voltage"); 
        }

        else if (voltage >= 15 && voltage < 18) {
            System.out.println("Voltage is in proper range");
        }
        else if (voltage >= 18 && voltage <= 20) {
            System.out.println("Voltage is high - Check Transformer"); 
        }

        System.out.print("\n\nType \"Q\" to quit, or type nothing to go again.");
        input = kbReader.nextLine();

        if (input.equalsIgnoreCase("q")) {
            Loop = false;
        }
    }
}

缩进似乎有点偏。我不太确定如何解决这个问题。

3 个答案:

答案 0 :(得分:0)

您需要做的就是

if (voltage < 0 || voltage > 20) {
    System.out.println("Invalid input.");
    break;
}

答案 1 :(得分:0)

您可以在第一个if子句中使用中断:

if (voltage < 0 || voltage > 20)
{
  break;
}

答案 2 :(得分:0)

你可以尝试休息一下;中断允许while循环退出。