写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c “不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常:
import java.util.Arrays;
import java.util.Scanner;
public class testTri {
public static void main(String[] args) {
int a,b,c;
System.out.println("请输入三个数用于判断:");
Scanner input = new Scanner(System.in);
//Tri tri = new Tri();
a=input.nextInt();
b=input.nextInt();
c=input.nextInt();
try{ //用try-catch捕获异常
triangle(a,b,c);
}
catch(Exception e){ //当是其他异常时,输出
e.printStackTrace();
}
}
public static void triangle(int a,int b,int c) throws IllegalArgumentException {
int []aa = new int[3];//定义一个triangle的方法,该方法可能存在异常,用throws声明异常
aa[0]=a; //将a,b,c赋给数组aa
aa[1]=b;
aa[2]=c;
Arrays.sort(aa);//将数组aa进行排序
if((aa[2]-aa[0]<aa[2])&&aa[0]+aa[1]>aa[2])//判断是否可以构成三角形,如果两边之差小于第三边
System.out.println(a+" "+b+" "+c+" "+"可以构成三角形");//两边之和大于第三边就可以构成三角形
else //否则throw抛出异常
throw new IllegalArgumentException("a,b,c不能构成三角形");//异常输出
}
}
测试结果:
657

被折叠的 条评论
为什么被折叠?



