写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:“a,b,c不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。(输入不匹配异常抛出InputMismatchException,非法数据异常抛出IllegalArgumentException。)输入输出说明:2 4 3三角形的三边长为:2,4,31 2 31,2,3不能构成三角形1 2.0 3请输入整数作为三角形的边长!
时间: 2024-03-02 08:50:40 浏览: 41
C++面向对象程序设计 (编程题).pdf
好的,以下是实现该方法的代码:
```java
import java.util.InputMismatchException;
public class TriangleTest {
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("请输入整数作为三角形的边长!");
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
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 + "不能构成三角形");
}
System.out.println("三角形的三边长为:" + a + "," + b + "," + c);
}
}
```
在该程序中,我们首先尝试从命令行参数中获取三个整数,如果输入的不是整数,会抛出InputMismatchException异常。然后,我们调用triangle方法来判断这三个数是否可以构成三角形。如果不能构成三角形,我们抛出IllegalArgumentException异常,并在异常信息中显示不能构成三角形的三个边长;如果可以构成,我们就输出三个边长。
在主方法中,我们捕获了可能抛出的两种异常,并分别输出相应的提示信息。
以下是该程序的运行示例:
```
$ java TriangleTest 2 4 3
三角形的三边长为:2,4,3
$ java TriangleTest 1 2 3
1,2,3不能构成三角形
$ java TriangleTest 1 2.0 3
请输入整数作为三角形的边长!
```
阅读全文