题目:
写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,
显示异常信息“a,b,c不能构成三角形”,如果可以构成则显示三角形三个边长,
在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
代码:
package helloWorld;
public class MyTriangle {
public static void main(String[] args) {
// TODO 自动生成的方法存根
MyTriangle my = new MyTriangle();
my.judge(6, 7, 8);
int a, b, c;
if (args.length == 3) {
try {
a = Integer.parseInt(args[0]);
b = Integer.parseInt(args[1]);
c = Integer.parseInt(args[2]);
} catch (NumberFormatException e) {
throw new NumberFormatException("您输入的参数含有非数字");
}
try {
judge(a, b, c);
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
}
else {
System.out.println("您输入的参数有误!");
return;
}
}
public static void judge(int a, int b, int c) {
if (a + b > c && a + c > b && b + c > a && a - b < c && b - a < c
&& a - c < b && c - a < b && c - b < a && b - c < a) {
System.out.println("可构成三角形,边长分别为:" + a + "," + b + "," + c);
} else {
throw new IllegalArgumentException(a + "," + b + "," + c
+ "不能构成三角形");
}
}
}