私はこのhwの問題を抱えています - 数字を読み取り、すべての2進数字を表示するプログラムを書いてください:残りの数字%2を印字し、数字をnumber/2に置き換えてください。数字が0になるまで続けてください。 2桁の数字は正常に表示されますが、文字を使用するとクラッシュしないように箇条書きします。クラッシュすることはありませんが、プログラムを再起動せずに別の番号を入力できるようにしたいと考えています。どのように私はこれを行うことができます上の任意のヒント?try-catchでループ中に弾丸を書こうとします
Scanner scanIn = new Scanner(System.in);
int number = 0;
System.out.print("Please enter a number: ");
try {
number = scanIn.nextInt();
} catch (InputMismatchException ime) {
System.out.println("Please only enter integers!");
number = 0;
scanIn.nextLine();
}
while (number > 0) {
System.out.println(number % 2);
number /= 2;
}
}
あなたは 'scanner.hasNextInt()'のようなものをお探しですか? – Harvtronix
私はあなたがまだそれから利益を得ることができると思います。あなたが入力を取得した部分をラップする必要があります。入力が終わったら終了します。 – Harvtronix
@Harvtronixのように 'hasNextInt()'を正しく使うと、例外を捕捉する必要はありません。 'InputMismatchException'は投げられないからです。 – Andreas