课堂练习1:
写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c “不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
代码如下:
import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.Scanner;
public class TestTriangle {
public static void triangle(int a,int b,int c)throws IllegalArgumentException,InputMismatchException {
int x[]=new int[3];
x[0]=a;
x[1]=b;
x[2]=c;
Arrays.sort(x);
if((x[0]+x[1]>x[2])&&(x[2]-x[1]<x[0]))
System.out.println("三角形的三边长为:"+a+","+b+","+c);
else
throw new IllegalArgumentException();
}
public static void main(String[] args) {
int a=0,b=0,c=0;
Scanner in =new Scanner(System.in);
System.out.println("请分别输入三角形的三边长:");
try {
a=in.nextInt();
b=in.nextInt();
c=in.nextInt();
triangle(a, b, c);
} catch (InputMismatchException e1) {
System.out.println("请输入整数作为三角形的边长!");
e1.printStackTrace();
}catch (IllegalArgumentException e2) {
System.out.println(a+","+b+","+c+"不能构成三角形");
}
}
}
运行效果图如下所示: