写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形, 如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角 形”, 如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数, 调用此方法, 并捕获异常用Java实现
时间: 2024-04-14 14:26:03 浏览: 119
以下是用Java实现的方法:
```java
public class Triangle {
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]);
// 调用sanjiao方法判断是否能构成三角形
sanjiao(a, b, c);
} catch (NumberFormatException e) {
System.out.println("输入的参数不是整数");
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("请输入三个整数作为参数");
}
}
public static void sanjiao(int a, int b, int c) {
if (a <= 0 || b <= 0 || c <= 0) {
throw new IllegalArgumentException(a + "," + b + "," + c + "不能构成三角形");
}
if (a + b <= c || a + c <= b || b + c <= a) {
throw new IllegalArgumentException(a + "," + b + "," + c + "不能构成三角形");
}
System.out.println("可以构成三角形,三个边长分别为:" + a + "," + b + "," + c);
}
}
```
在这个例子中,我们首先从命令行获取三个整数作为参数,然后调用sanjiao方法判断是否能构成三角形。如果能构成三角形,则输出三个边长;如果不能构成三角形,则抛出IllegalArgumentException异常,并显示异常信息。在主方法中,我们捕获了NumberFormatException、IllegalArgumentException和ArrayIndexOutOfBoundsException等可能的异常情况,并进行相应处理。
阅读全文