關於異常處理
package com.imooc.exception;
import java.util.InputMismatchException;
import java.util.Scanner;
public class ExDemo {
public static void main(String[] args) {
Scanner scr = new Scanner(System.in);
try {
System.out.println("輸入被除數");
int n1 = scr.nextInt();
System.out.println("輸入除數");
int n2 = scr.nextInt();
} catch (ArithmeticException e) {
System.out.println("只能為整數");
e.printStackTrace();
}catch (InputMismatchException e) {
System.out.println("輸入錯誤!!");
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
}
}
}想詢問老師 當我n1 輸入 a 時,會跑到 catch (InputMismatchException e)這裡面
但我希望會重新執行
System.out.println("輸入被除數");
int n1 = scr.nextInt();
中的語句,直到我輸入 正確 才會出現
程序才會往下執行
我應該怎麼寫,讓使用著只要 輸入不對,就會要求使用著從新輸入被除數呢?
16
收起
正在回答
1回答
可以使用递归调用,在catch块内增加 ExDemo.main(args);为了程序的美观,建议去掉e.printStackTrace();异常信息的打印。
祝学习愉快~
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星