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

来源:互联网 发布:局部搜索算法历史 编辑:程序博客网 时间:2024/06/05 07:23

课堂练习1

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

(1)代码实现

import java.util.*;public class triangleException {// 声明 IllegalArgumentException 异常public void triangle(int a,int b,int c) throws IllegalArgumentException {// 如果两边之和大于第三边 并且 两边之差小于第三边,就输出三条边长if(a+b>c && c-a<b ) { System.out.printf("三角形的三边长分别是:%d%d%d",a,b,c);}//否则抛出异常else {throw new IllegalArgumentException("不能构成三角形");}}}

import java.lang.reflect.Array;import java.util.*;public class test {public static void main(String[] args) {//创建对象  triangleException t=new triangleException();  Scanner s=new Scanner(System.in);  //定义数组  int n[]=new int[3];  System.out.println("请输入三角形的三条边");  //通过输入三角形的三条边  for(int i=0;i<3;i++) {  n[i]=s.nextInt();  }  //对数组中的元素进行排序,升序排序  Arrays.sort(n);  try {  t.triangle(n[0], n[1], n[2]);  //调用可能发生异常的方法   }catch(IllegalArgumentException e) {//捕获IllegalArgumentException异常  System.err.printf("长度为%d%d%d的三条边不能构成三角形",n[0],n[1],n[2]);  }catch(InputMismatchException e) {  //捕获不匹配异常  System.err.println("三角形的边长应为整数");  }}}

(2)运行结果




原创粉丝点击