第五次实训作业异常处理

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

²  在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用户输入;

²  在catch语句块中,捕获被0除所产生的异常,并输出异常信息;

²  在finally语句块中,输出一条语句。

 1 package bbb;
 2 
 3 import java.util.Scanner;
 4 
 5 public class ExceptionTest {
 6        public static void main(String[] args){
 7            try{
 8                int a,b,c;
 9                System.out.println("请输入要操作的数: ");
10                Scanner scanner=new Scanner(System.in);
11                a=scanner.nextInt();
12                b=scanner.nextInt();
13                c=a/b;
14            }catch(Exception b){
15                b.printStackTrace();
16                System.out.println("program over");
17            }
18            finally{
19                System.out.println("IG牛逼");
20            }
21        }
22     }

 

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

 1 package bbb;
 2 import java.util.InputMismatchException;
 3 import java.util.Scanner;
 4 public class Circle { 
 5     static double PI=3.1415;
 6     public static void main(String[] args){
 7         double r;
 8         System.out.println("请输入半径为: ");
 9         Scanner scanner=new Scanner(System.in);
10         r=scanner.nextDouble();
11         double s;
12         s=PI*r*r;
13         try{
14             r=scanner.nextDouble(); 
15         }catch(InputMismatchException b){
16             System.out.println("所输入的半径不是double型");
17         } 
18         finally{
19         System.out.println("面积为: "+s);
20         }
21 }     
22 }

 

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

 1 import java.util.Scanner;
 2 import java.util.InputMismatchException;
 3 public class Exception {
 4   String id; 
 5   public void Exception(String id){  
 6       this.id=id;     
 7   }   
 8   public String getid(String id){
 9       return id;
10      }   
11   public void setid(String id){
12       this.id=id;   
13   }    
14   class lllegalArgumentException extends Exception{   
15      lllegalArgumentException() throws IllegalArgumentException{
16           if(id.length()!=18) {
17              throw new IllegalArgumentException("身份证号码输入错误");
18           }
19       }
20   }
21  public static void main(String[] args){    
22       String id;    
23       Scanner in=new Scanner(System.in);
24       id=in.next();    
25       try {
26           if(id.length()==18)
27           System.out.println("所输入的身份证号码正确");
28           }catch(InputMismatchException e) {
29               System.out.println(e.getMessage());
30           }
31  }
32  }

第三个代码好像出问题了,try里面不知道怎么弄,写了符合条件的 调试后发现异常并没有得到处理。try里面有问题了。。。但是我不会改。

posted @ 2019-05-08 14:54  钟爱学习的可乐娃子  阅读(180)  评论(0编辑  收藏  举报