实训作业
1. 编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现:
² 在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用户输入;
² 在catch语句块中,捕获被0除所产生的异常,并输出异常信息;
² 在finally语句块中,输出一条语句。
1 package aaaa; 2 import java.util.*; 3 class c extends Exception{ 4 public float ccc(int i,int j) throws Exception{ 5 float s; 6 s=i/j; 7 if(j==0){ 8 throw new Exception("除数为0"); 9 } 10 return s; 11 } 12 } 13 public class aaaa { 14 public static void main(String[] args) { 15 int i; 16 int j; 17 Scanner x=new Scanner(System.in); 18 i=x.nextInt(); 19 j=x.nextInt(); 20 c a=new c(); 21 try{ 22 a.ccc(i, j); 23 }catch(Exception e){ 24 System.out.println("错误:除数为0"); 25 //System.out.println(a.getMessage()); 26 }finally{ 27 System.out.println("运算结束"); 28 } 29 System.out.println("ceshi"); 30 } 31 32 }
编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处
1 package aaaa; 2 import java.util.*; 3 public class asd { 4 5 public static void main(String[] args) { 6 double r; 7 double s; 8 Scanner x=new Scanner(System.in); 9 System.out.println("请输入数据:"); 10 11 try{ 12 r=x.nextDouble(); 13 }catch(Exception e){ 14 e.printStackTrace(); 15 } 16 17 } 18 19 }
1. 为类的属性“身份证号码.id”设置值,当给的的值长度为18时,赋值给id,当值长度不是18时,抛出IllegalArgumentException异常,然后捕获和处理异常,编写程序实现以上功能。
1 package aaaa; 2 import java.util.*; 3 public class ccccc extends Exception{ 4 5 public static void main(String[] args) throws Exception{ 6 int code; 7 Scanner x=new Scanner(System.in); 8 code=x.nextInt(); 9 try{ 10 if((code+"").length()!=18){ 11 throw new IllegalArgumentException(); 12 } 13 }catch(IllegalArgumentException e){ 14 System.out.println("error"); 15 e.printStackTrace(); 16 } 17 } 18 19 }