public void runMenu() {
int x = 1;
Scanner Option = new Scanner(System.in);
int Choice = 0;
do {
try {
System.out.println("Choose Option");
System.out.println("");
System.out.println("1: Create Account");
System.out.println("2: Check Account");
System.out.println("3: Take Action");
System.out.println("4: Exit");
System.out.println("Please choose");
Choice = Option.nextInt();
switch (Choice) //used switch statement instead of If else because more effective
{
case 1:
CreateAccount();
break; //breaks iteration
case 2:
selectAccount();
break;
case 3:
break;
}
} catch (Exception e) {
System.out.println("Cant do that");
}
} while (Choice < 4);
System.out.println("Bye");
}
異常處理不起作用,例如,如果我輸入5之類的範圍,應該說「不能做那個」。我是否應該輸入if語句來定義條件,如果有的話我該怎麼做呢?現在它只是輸入「再見」,如果我輸入錯誤的密鑰。如何獲取要顯示的錯誤
輸入您的範圍之外不會引起異常。異常是由處理時導致問題的輸入觸發的。這可能會幫助您http://www.tutorialspoint.com/java/java_exceptions.htm – Ceelos
您的代碼中沒有任何部分會告訴它在輸入時引發異常是意想不到的價值。也許使用交換機的'default:'情況。 (首先在這裏使用例外是否正確是有爭議的) –
'break'適用於交換機;不是循環。 –