我正在試圖製作一個程序,要求電工輸入伏特數。如果他/她輸入的值大於20
或小於0
,程序應該結束而不會提示用戶再次進入。現在,我擁有它,所以它會提示用戶退出或繼續,這是我不想要的。這裏是程序的內容:Java - 如何退出While循環中環
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;
}
}
}
縮進似乎有點關閉。我不太清楚如何解決這個問題。
你的循環中有兩個'input = kbReader.nextLine()'。這沒有道理!你應該在循環之外(在循環開始之前)取第一個。或者,您可以在第一次輸入掃描之後立即放置退出條件,並擺脫第二次輸入掃描。 – 2014-11-20 18:38:41
使用break關鍵字。 – StackFlowed 2014-11-20 18:38:47
看起來應該替換'System.out.println(「無效輸入」);'與「休息」; – newcoder 2014-11-20 18:41:59