3から24までの3の倍数でユーザを入力させています。出力は0に達するまで3より少ない数字を出力します。ユーザーが15を選択します。出力が15,12,9,6,3,0を出力します。問題は、ユーザーが番号17を選択して15に丸めて残りのコードを実行する場合です。 3の倍数で入力しないと入力を無限に繰り返すにはどうすればよいですか?私のコードは以下の通りです。ステートメントを入れ子にしてdo-while文を無限にループする方法
do{
System.out.print("Enter a multiple of 3: ");
//We use the variable n to hold the multiple of 3, like the heading says to do.
n = input.nextInt();
if (n % 3 !=0 || n >= 25) {
System.out.println("Error: Enter a multiple of 3 between 3 and 24, inclusive.");
n = input.nextInt();
}
/**
* X = n /3, this gives us the base number of the multiple of 3 to use and figure out the
* values of n->0 by 3's.
*/
for(x = n/3; x <= 8 && x >=0; x--){
int three = 3 * x;
System.out.printf(three + "\t");
}
}while(x >= 0);
あなたは、私はちょうどif文の中に別の入力部を入れて見ることができるように、しかし、私はこれを行うにはしたくありません。私はループを維持するifステートメントのための方法を把握しようとしています。 if文で設定したパラメータですか?または、ステートメントの基準が満たされていない場合にifステートメントを繰り返す特定のコマンドがありますか?また、私はJavaを使用しています。
'(入力良くない)しばらく{}プロンプトん;' – Li357
あなたはもう少し詳しく説明してもらえますか?私はかなり新しいコーディングです。 –
'if'を' while'に変更しようとしましたか? – sstan