题目
写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c “不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
testMain类
package cn.ganggang;
import java.util.Arrays;
import java.util.Scanner;
public class testMain {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
try{
System.out.println("(10,3,5):");
triangle(10,3,5);
}catch(IllegalArgumentException ex){
ex.printStackTrace();
}
try{
System.out.println("(10,11,12):");
triangle(10,11,12);
}catch(IllegalArgumentException ex){
ex.printStackTrace();
}
}
public static void triangle (int a,int b,int c) throws IllegalArgumentException{
int []array = new int[]{a,b,c};
Arrays.sort(array);
if(array[0]+array[1]>array[2]||array[2]-array[1]<array[0]){
System.out.println("可以组成三角形");
}else{
throw new IllegalArgumentException("不可组成三角形");
}
}
}
运行结果:
(10,3,5):
java.lang.IllegalArgumentException: 不可组成三角形
at cn.dustray.testMain.triangle(testMain.java:33)
at cn.dustray.testMain.main(testMain.java:13)
(10,11,12):
可以组成三角形