2写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:“a,b,c不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。(输入不匹配异常抛出InputMismatchExcention,非法数据异常抛出I11egalArgumentException. ) 输入输出说明: 2 4 3 三角形的三边长为: 2,3,4 1 2 3 不能构成三角形。 12.0 3+ 请输入整数作为三角形的边长! 4
时间: 2024-02-19 08:03:51 浏览: 109
下面是实现该方法的 Java 代码:
```java
import java.util.InputMismatchException;
public class TriangleChecker {
public static void triangle(int a, int b, int c) {
if (a <= 0 || b <= 0 || c <= 0) {
throw new IllegalArgumentException("三角形的边长必须是正整数");
}
if (a + b <= c || b + c <= a || c + a <= b) {
throw new IllegalArgumentException(a + ", " + b + ", " + c + " 不能构成三角形");
}
System.out.println("三角形的三边长为: " + 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 (InputMismatchException e) {
System.err.println("输入不匹配异常:" + e.getMessage());
} catch (IllegalArgumentException e) {
System.err.println("非法数据异常:" + e.getMessage());
} catch (ArrayIndexOutOfBoundsException e) {
System.err.println("请输入三个整数作为三角形的边长");
}
}
}
```
在命令行中运行该程序时,需要输入三个整数作为三角形的边长,例如:
```
$ java TriangleChecker 2 4 3
三角形的三边长为: 2, 4, 3
$ java TriangleChecker 1 2 3
非法数据异常:1, 2, 3 不能构成三角形
$ java TriangleChecker 12.0 3+
输入不匹配异常:For input string: "12.0"
```
注意,如果输入的边长不是正整数,会抛出 `IllegalArgumentException` 异常。如果输入不匹配,会抛出 `InputMismatchException` 异常。如果没有输入足够的参数,会抛出 `ArrayIndexOutOfBoundsException` 异常。在 `catch` 语句块中,分别处理这些异常,并输出相应的错误信息。
阅读全文