2. 写一个方法void triangle(insa int b int c),判断三个参数是否能构成一个三角形。如果不能则抛 出异常I11ega1ArgumentException,显示异常信息: a.b.c不能构成三角形”;如果可以构成则显示三角形三 个边长。在志方法中得到命令行输入的三个整数,调用此方法,并捕获异常。(输入不匹配异常抛出 InputMismatchException,非法数据异常抛出I11ega1ArgumentExcention.)+ 输入输出说明:2 4 3+ 三角形的三边长为:2.4.3←1 2 3. 1,2.3不能构成三角形+1 2.0 3. 请输入整数作为三角形的边长!←
时间: 2024-03-02 16:47:54 浏览: 84
好的,以下是符合你要求的Java代码:
```java
import java.util.InputMismatchException;
public class TriangleChecker {
public static void main(String[] args) {
int a, b, c;
try {
a = Integer.parseInt(args[0]);
b = Integer.parseInt(args[1]);
c = Integer.parseInt(args[2]);
triangle(a, b, c);
} catch (InputMismatchException e) {
System.out.println("请输入整数作为三角形的边长!");
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
public static void triangle(int a, int b, int c) {
if (a + b <= c || a + c <= b || b + c <= a) {
throw new IllegalArgumentException(String.format("%d.%d.%d不能构成三角形", a, b, c));
} else {
System.out.printf("三角形的三边长为:%d.%d.%d\n", a, b, c);
}
}
}
```
说明:
1. `triangle(int a, int b, int c)` 方法用于检查三个参数是否能构成一个三角形,如果不能则抛出 `IllegalArgumentException` 异常,如果可以则输出三角形三个边长。
2. `main(String[] args)` 方法从命令行输入三个整数,调用 `triangle(int a, int b, int c)` 方法,并捕获可能抛出的异常。
3. 如果捕获到 `InputMismatchException` 异常,说明输入不匹配,输出提示信息。
4. 如果捕获到 `IllegalArgumentException` 异常,说明输入的三个数不能构成三角形,输出异常信息。
5. 在 `IllegalArgumentException` 异常的信息中使用了 `String.format()` 方法,可以方便地将三个参数的值格式化为字符串,以便输出。
阅读全文