我需要用一個while循環來詢問用戶一個介於1-100之間的數字,並告訴用戶輸入了錯誤的號碼數字是負數或超過100.這是我迄今爲止所擁有的。每當我運行它時,它都會詢問用戶的輸入。當輸入爲負數或大於100時,表示無效號碼,但當用戶輸入爲45時,表示無效號碼,當0-100之間的數字有效時。我不認爲它讀取代碼的最後部分。怎麼辦請問用戶輸入正確的號碼
import java.util.*;
public class PlayOffs {
public static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
System.out.print("What is the % chance Team 1 will win (1-99)?: ");
int team1input = scan.nextInt();
do {
while (team1input >= -1 || team1input >= 101) {
System.out.println("That's not between 1-99");
scan.next(); // this is important!
}
team1input = scan.nextInt();
} while (team1input >= 0 && team1input <= 100);
System.out.println("Thank you! Got " + team1input);
}
}
我真的不明白爲什麼你需要2個循環 –
此外,你的一些比較是不正確的 – theGleep
@FrankUnderwood內環可能處理案件提供像'富酒吧123'數據時。它會處理'foo'和'bar',然後接受'123'作爲有效的號碼。代碼最有可能基於:[使用java.util.Scanner驗證輸入](https://stackoverflow.com/q/3059333) – Pshemo