[英]Try/Catch exception help in Java
我正在制作的程序有一個基於控制台的文本菜單,可以在 1 和 2 之間選擇一個選項,我需要它來捕捉任何不是數字的輸入,也不是 1 和 2 之間的數字。這就是我所擁有的
Scanner scan = new Scanner(System.in);
int number = 0;
try {
System.out.println("Enter a number ");
System.out.println("1.");
System.out.println("2.");
number = scan.nextInt();
}
catch (ArithmeticException e) {
System.out.println("Arithmetic Exception");
}
catch (Exception e) {
if (!(number == 1) || !(number == 2)) {
System.out.println("Exception");
}
}
感謝您對我出錯的地方的任何見解!
如果你想拋出異常,這很容易,但要注意條件:
Scanner scan = new Scanner(System.in);
int number = 0;
try {
System.out.println("Enter a number ");
System.out.println("1.");
System.out.println("2.");
number = scan.nextInt();
if ((number != 1) && (number != 2)){
throw new Exception();
}
}
catch (InputMismatchException e) {
System.out.println("This is not a number");
}
catch (Exception e) {
System.out.println("Inside here because the number is not 1 or 2");
}
條件
(number != 1) && (number != 2)
如果number
不是(1 或 2),則為true
作為建議,您可以使用
if ((number != 1) || (number != 2))
代替
if (!(number == 1) || !(number == 2))
Scanner scan = new Scanner(System.in);
int number = 0;
try {
System.out.println("Enter a number ");
System.out.println("1.");
System.out.println("2.");
number = scan.nextInt();
if (number != 1 && number != 2){
throw new Exception();
}
}
catch (ArithmeticException e) {
System.out.println("Arithmetic Exception");
}
catch (Exception e) {
System.out.println("Inside here because the number is not 1 or 2 ");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.