高品质网站设计,营销软文300字范文,WordPress动态icon标题,企业网站 源代码/** * 编写一个Java应用程序的方法#xff0c;该方法接收从键盘输入的自然数: * 如果输入的数不是自然数。抛出异常#xff0c;提示“请正确输入数字!”#xff0c;然后继续等待用户输入。 * 如果输入的数为正数,则显示这个数,程序继续运行。 * 如果输入为负数#xff…/** * 编写一个Java应用程序的方法该方法接收从键盘输入的自然数: * 如果输入的数不是自然数。抛出异常提示“请正确输入数字!”然后继续等待用户输入。 * 如果输入的数为正数,则显示这个数,程序继续运行。 * 如果输入为负数抛掷自定义的异常输出错误信息后程序终止运行。 * 如果输入的数为0则程序终止运行。注本题中0不当作自然数 * 当程序终止运行时会显示程序退出,Bye!。 */ import java.util.*; public class TestException { static double d; public static void main(String [] args){ System.out.println(请输入一个数字); //首先通过调用testA()方法要求能接收键盘输入的数并对输入进行异常捕获以确定输入的是数字。 double dd TestException.testA(); // System.out.println(dd); try { //此处调用testB()方法可用来判断在testA()方法中输入的数是否是自然数 int n TestException.testB(dd);// System.out.println(n 是自然数); } catch (MyException e) { // TODO Auto-generated catch block System.out.println(程序退出,Bye!); e.printStackTrace(); } } public static int testB(double dd)throws MyException{ int n (int)dd; // System.out.println(n); if(dd 0){ throw new MyException(输入的是负数非法); } else if(dd 0){ throw new MyException(输入的是0); } else if(n dd){ return n; } else{ throw new MyException(不是自然数); } } public static double testA(){ //判断输入的是不是数字 Scanner in new Scanner(System.in); /**起初把Scanner 的对象定义成了static 的类成员变量 * 结果本方法中递归调用时出现循环错误即不能二次接收try中键盘输入 * 分析 */ try{ d in.nextDouble(); return d; }catch (InputMismatchException e) { System.out.println(请输入数字); testA(); //能过catch捕获如果输入的不是数字则重新调用输入方法并要求重新输入 } //如果输入的是数字即可与double类型匹配便不会报异常可直接返回 return d; } }