写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出
异常IllegalArgumentException,显示异常信息“a,b,c不能构成三角形”,
异常IllegalArgumentException,显示异常信息“a,b,c不能构成三角形”,
如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
附源代码:
package 异常;
public class Sanjiaoxing {
void sanjiao(int a,int b,int c) throws IllegalArgumentException
{
if((a+b>c)&&(b+c>a)&&(a+c>b))
{
System.out.printf("三角形的三边是%d,%d,%d\n",a,b,c);
}
else
{
throw new IllegalArgumentException("非法数据异常");
}
}
}
==================================================================
下面是测试类:
package 异常;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a,b,c;
a = Integer.parseInt( args[0]);//命令行参数
b = Integer.parseInt( args[1]);
c = Integer.parseInt( args[2]);
Sanjiaoxing t = new Sanjiaoxing();
try {
t.sanjiao(a, b, c);
} catch (IllegalArgumentException e) {
// TODO: handle exception
System.out.println("产生非法数据异常,三边不能构成三角形!!!");
e.printStackTrace();
}
}
}