写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:“a,b,c不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。(输入不匹配异常抛出InputMismatchException,非法数据异常抛出IllegalArgumentException。) 输入输出说明: 2 4 3 三角形的三边长为:2,4,3 1 2 3 1,2,3不能构成三角形 1 2.0 3 请输入整数作为三角形的边长!
时间: 2024-02-26 22:56:34 浏览: 25
以下是 Java 代码实现:
```java
import java.util.InputMismatchException;
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]);
triangle(a, b, c);
} catch (NumberFormatException e) {
System.out.println("请输入整数作为三角形的边长!");
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
} catch (InputMismatchException e) {
System.out.println("输入不匹配!");
}
}
public static void triangle(int a, int b, int c) {
if (a <= 0 || b <= 0 || c <= 0) {
throw new 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` 方法来判断是否能构成三角形并输出结果。如果输入的参数不是整数,会抛出 `NumberFormatException` 异常;如果输入的参数不符合三角形的条件,会抛出 `IllegalArgumentException` 异常;如果输入的参数个数不是三个,会抛出 `ArrayIndexOutOfBoundsException` 异常。以上异常都会被 `try...catch` 语句捕获并输出错误信息。
阅读全文