写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:“a,b,c不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
时间: 2024-03-22 19:37:14 浏览: 9
好的,以下是Java代码实现:
```java
public class Main {
public static void triangle(int a, int b, int c) throws IllegalArgumentException {
if (a + b <= c || a + c <= b || b + c <= a) {
throw new IllegalArgumentException(a + "," + b + "," + c + " cannot form a triangle");
} else {
System.out.println("Triangle sides: " + a + ", " + b + ", " + c);
}
}
public static void main(String[] args) {
try {
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
int c = Integer.parseInt(args[2]);
triangle(a, b, c);
} catch (NumberFormatException e) {
System.out.println("Invalid input: not an integer");
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Usage: java Main <side1> <side2> <side3>");
}
}
}
```
在这个程序中,我们定义了一个triangle()方法,它接受三个整数参数a、b、c。如果a、b、c不能构成三角形,则抛出IllegalArgumentException异常,显示异常信息;如果可以构成三角形,则打印三角形的三个边长。
在主方法中,我们从命令行输入读取三个整数,并调用triangle()方法。如果输入的不是整数,则捕获NumberFormatException异常;如果输入的数不能构成三角形,则捕获IllegalArgumentException异常。如果输入参数不足三个,则捕获ArrayIndexOutOfBoundsException异常。