我有一個嘗試捕獲,是爲了捕捉任何不是一個整數。當我輸入一個非整數(例如5.6)時,它告訴我只有整數是允許的,並讓我再試一次(因爲它應該)。但是,如果我再次輸入一個非整數,它不會說出任何內容,並會繼續輸入,從而使輸出保持空白。Try-catch只有循環一次
if (choicesObjects == b) {
System.out.println("TEST 2");
System.out.println("Object: Right triangle");
System.out.println("\nEnter length of Right triangle: ");
int lengthOfTriangle = 0;
try {
lengthOfTriangle = input.nextInt();
} catch(InputMismatchException e) {
System.out.println("\nError: user input must be an integer greater than 0.\n");
System.out.println("Object: Right triangle");
System.out.println("\nEnter length of Right triangle: ");
input.next();
}
//method stuff
}
的try/catch不是一個循環。如果你想循環,你需要使用循環。 –
而你的問題是... –
你需要做這樣的事情:while(condition not met){獲得用戶輸入} – ndlu