我試圖提示用戶輸入一個介於1和12之間的值。如果他們輸入的值超出此範圍(EX -15),我需要繼續提示直到他們進入一個在1-12的值。當用戶輸入一個指定範圍內的值時(1-12)它需要打印一個時間表,其中包含整數1乘以輸入數字的結果。到目前爲止,我相信我有這個佈局一些什麼正確的,但我知道我失去了一些東西,但無法弄清楚這裏的代碼:試圖讓用戶輸入介於兩個值之間
package times_Table;
import java.util.Scanner;
public class Times_Table {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
final int TOTAL = 5;
System.out.print("Enter an integer between 1 and 12:");
int input = sc.nextInt();
int numbers = input;
//If the input is out of the range 1-12 keep going
//If the input is in the range of 1-12 stop
//Need to find a way to keep looping if the integer inputed is out of the range 1-12
while (numbers>1 && numbers<12) {
if (numbers<1 && numbers>12) {
for (int i = 1; i <= TOTAL; i++) {
for (int j = 1; j<=TOTAL; j++) {
System.out.print(i*j + "\t");
}
System.out.println();
}
} else {
if (numbers < 1 && numbers > 12) {
System.out.print("Enter an integer between 1 and 12:");
}
}
}
}
}
它會幫助你很多,如果你將通過代碼在你的IDE調試步驟,看什麼在發生每個陳述。你試過了嗎? –
你需要重做你的'if/else'流程。應該是數字在裏面,做數學運算,否則用'Scanner'再次請求輸入。現在你的while循環正在使if else循環無用。 –
請注意澄清*它需要打印一個時間表,結果乘以整數1到輸入數字... *? – aribeiro