写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:“a,b,c不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。(输入不匹配异常抛出InputMismatchException,非法数据异常抛出IllegalArgumentException。) 输入输出说明: 2 4 3 三角形的三边长为:2,4,3
时间: 2024-02-19 12:02:28 浏览: 81
好的,以下是实现该方法的Java代码:
```java
import java.util.InputMismatchException;
public class TriangleChecker {
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 (InputMismatchException e) {
System.out.println("输入不匹配异常:" + e.getMessage());
} catch (IllegalArgumentException e) {
System.out.println("非法数据异常:" + e.getMessage());
} catch (Exception e) {
System.out.println("未知异常:" + e.getMessage());
}
}
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 + "不能构成三角形");
} else {
System.out.println("三角形的三边长为:" + a + "," + b + "," + c);
}
}
}
```
在这个代码中,我们定义了一个 `triangle` 方法,用来判断三个参数是否能构成一个三角形。如果不能,则抛出 `IllegalArgumentException` 异常,并显示异常信息;如果可以构成,则输出三角形的三个边长。在 `main` 方法中,我们通过命令行参数获取三个整数,然后调用 `triangle` 方法,并捕获可能抛出的异常。如果输入不匹配,抛出 `InputMismatchException` 异常;如果输入数据非法,抛出 `IllegalArgumentException` 异常;如果抛出其他异常,显示未知异常信息。
如果输入 `2 4 3`,则会输出:
```
三角形的三边长为:2,4,3
```
如果输入 `2 4 a`,则会输出:
```
输入不匹配异常:For input string: "a"
```
如果输入 `2 4 7`,则会输出:
```
非法数据异常:2,4,7不能构成三角形
```
阅读全文