寫一個方法void triangle(inta,intb,int c),判斷三個參數是否能構成一個三角形。如果不能則拋出異常IllegalArgumentException,顯示異常信息:a,b,c “不能構成三角形”;如果可以構成則顯示三角形三個邊長。在主方法中得到命令行輸入的三個整數,調用此方法,並捕獲異常。
import java.util.Arrays;
import java.util.Scanner;
public class ExceptionTest1 {
public static void triangle(int a,int b,int c)throws Exception {
if(a+b>c && c-a<b){
System.out.println("能構成三角形");
System.out.println("a="+a+","+"b="+b+","+"c="+c);
}
else {
throw new IllegalArgumentException("a="+a+","+"b="+b+","+"c="+c+" 不能構成三角形");
}
}
public static void main(String[] args){
// TODO 自動生成的方法存根
int a[]=new int[3];
System.out.println("輸入三個整數");
for(int i=0;i<3;i++){
Scanner sc=new Scanner(System.in);
a[i]=sc.nextInt();
}
Arrays.sort(a);//數組默認的從小到大排序
try{
triangle(a[0],a[1],a[2]);
}catch(IllegalArgumentException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
}