• 第六次实训作业异常处理


    1.编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现:

    在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用户输入;
    在catch语句块中,捕获被0除所产生的异常,并输出异常信息;
    在finally语句块中,输出一条语句。

    package xiejie;
    
    import java.util.Scanner;
    
    public class ExceptionTest {
    
    	public static void main(String[] args) {
        int a,b,c;
        System.out.println("请输入两个数:");
        Scanner a1 = new Scanner(System.in);
        a = a1.nextInt();
        b = a1.nextInt();
        try {
        	c=a/b;
        	System.out.println(c);
        }
        catch(ArithmeticException e) {
        	System.out.println("除数不能为0!");
        }
        finally {
         System.out.println("程序结束!");
        }
    	}
    
    }
    

    2.编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。

    package xiejie;
    
    import java.util.InputMismatchException;
    import java.util.Scanner;
    
    public class yuan {
    
    	public static void main(String[] args) {
        double r,s;
        final double PAI=3.14;
        System.out.println("请输入半径:");
        try {
        	Scanner r1 = new Scanner(System.in);
        	r = r1.nextDouble();
        	s = PAI*r*r;
        	System.out.println(s);
        }
       catch(InputMismatchException e) {
           System.out.println("输入的数据不是double型!");
    	}
        finally {
        	System.out.println("程序结束!");
        }
    }
    }
    

    3.为类的属性“身份证号码.id”设置值,当给的的值长度为18时,赋值给id,当值长度不是18时,抛出IllegalArgumentException异常,然后捕获和处理异常,编写程序实现以上功能。

    package xiejie;
    
    import java.util.Scanner;
    
    class legalArgumentException extends Exception{
    	public legalArgumentException() {
    		super("身份证号码错误!");
    	}
    }
    
    public class ID {
    
    	public static void main(String[] args) {
         String ID;
         System.out.println("请输入身份证号码:");
         Scanner a = new Scanner(System.in);
         ID = a.nextLine();
         try {
        	 int length = ID.length();
        	 System.out.println(length);
        	 if(length!=18) 
        		 throw new legalArgumentException();
        	 }
         catch(legalArgumentException e) {
        	 System.out.println(e.getMessage());
         }
         finally {
    	 System.out.println("程序结束!"); 
      }
    	}
    
    }
    

  • 相关阅读:
    二维数组排序
    php-快速排序
    sql优化相关
    全页面静态化缓存
    php--1-100相加之和
    php--阶乘
    socket
    posix_getpid 函数win下失效问题
    水仙花数
    常用的魔术方法
  • 原文地址:https://www.cnblogs.com/xiejie95/p/10834989.html
Copyright © 2020-2023  润新知