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つのループ –
を必要とする理由私は本当にまた、あなたの比較の一部が誤っている 'FOOバー123'のようなデータを提供する際 – theGleep
@FrankUnderwoodインナーループは、おそらくケースを扱う表示されません。 'foo'と' bar'を処理し、 '123'を有効な数字として受け取ります。コードはおそらく:[java.util.Scannerを使用した入力の検証](https://stackoverflow.com/q/3059333) – Pshemo