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里面有问题了。。。但是我不会改。