上机练习题——异常处理1

来源:互联网 发布:163邮箱设置 imap端口 编辑:程序博客网 时间:2024/05/16 00:56

课堂练习1

写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c “不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。

(1)代码实现

[java] view plain copy
  1. import java.util.*;  
  2. public class triangleException {  
  3.     // 声明 IllegalArgumentException 异常  
  4.     public void triangle(int a,int b,int c) throws IllegalArgumentException {  
  5.         // 如果两边之和大于第三边 并且 两边之差小于第三边,就输出三条边长  
  6.         if(a+b>c && c-a<b ) {   
  7.             System.out.printf("三角形的三边长分别是:%d%d%d",a,b,c);  
  8.         }  
  9.         //否则抛出异常  
  10.         else {  
  11.             throw new IllegalArgumentException("不能构成三角形");  
  12.         }  
  13.     }  
  14. }  

[java] view plain copy
  1. import java.lang.reflect.Array;  
  2. import java.util.*;  
  3. public class test {  
  4.   
  5.     public static void main(String[] args) {  
  6.         //创建对象  
  7.       triangleException t=new triangleException();  
  8.       Scanner s=new Scanner(System.in);  
  9.       //定义数组  
  10.       int n[]=new int[3];  
  11.       System.out.println("请输入三角形的三条边");  
  12.       //通过输入三角形的三条边  
  13.       for(int i=0;i<3;i++) {  
  14.           n[i]=s.nextInt();  
  15.       }  
  16.       //对数组中的元素进行排序,升序排序  
  17.       Arrays.sort(n);  
  18.       try {  
  19.           t.triangle(n[0], n[1], n[2]);  //调用可能发生异常的方法   
  20.       }catch(IllegalArgumentException e) {  //捕获IllegalArgumentException异常  
  21.           System.err.printf("长度为%d%d%d的三条边不能构成三角形",n[0],n[1],n[2]);  
  22.       }catch(InputMismatchException e) {  //捕获不匹配异常  
  23.           System.err.println("三角形的边长应为整数");  
  24.       }  
  25.   
  26.     }  
  27.   
  28. }  

(2)运行结果


原创粉丝点击