2从控制合输入三个数值,判断这三个数值是否能构成一个三角形。程序要实现以下功能 检查输入的命令行参数是否为数值格式,如果输入的数值参数格式错误,则程序可能产生IputMiematchException 异常需要导入 jiava uti!nputMismatch Exception 这个类) 检查输人的命令行鑫数中是否有负数或0,如果有负数或 0,则程序可能产生 NumberValueExceRtign 异常 (NumberValueExeseption 为自定义异常) 检查输入的三个数值是香能构成一个三角形,如果不能构成一个三角形,则程序可能产生 TriangleExceptign 异常 (TriangleExcepsion 为自定义 异常) • . 没出现异常则显示这三个数字可以构成一个三角形 提示,三角形任意两边之和必须大于第三边
时间: 2024-03-08 08:49:09 浏览: 119
下面是一个实现上述功能的Java程序,包括了三个自定义异常类以及输入数值格式检查:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class CheckTriangle {
public static void main(String[] args) {
double a, b, c;
Scanner scanner = new Scanner(System.in);
// 检查输入的三个数值是否为数值格式
try {
System.out.print("请输入三个数值:");
a = scanner.nextDouble();
b = scanner.nextDouble();
c = scanner.nextDouble();
} catch (InputMismatchException e) {
System.out.println("输入的数值格式错误!");
return;
}
// 检查输入的三个数值是否有负数或0
try {
if (a <= 0 || b <= 0 || c <= 0) {
throw new NumberValueException("输入的数值必须大于0!");
}
} catch (NumberValueException e) {
System.out.println(e.getMessage());
return;
}
// 检查输入的三个数值是否能构成三角形
try {
if (a + b <= c || a + c <= b || b + c <= a) {
throw new TriangleException("输入的三个数值无法构成三角形!");
}
} catch (TriangleException e) {
System.out.println(e.getMessage());
return;
}
// 三个数值可以构成三角形
System.out.println("这三个数值可以构成一个三角形!");
}
}
class NumberValueException extends Exception {
public NumberValueException(String message) {
super(message);
}
}
class TriangleException extends Exception {
public TriangleException(String message) {
super(message);
}
}
```
在程序中,我们首先使用`Scanner`类的`nextDouble()`方法读取用户输入的三个数值,如果输入的格式不正确,则抛出`InputMismatchException`异常。然后我们检查这三个数值是否有负数或0,如果有,则抛出我们自定义的`NumberValueException`异常。最后,我们检查这三个数值是否能构成三角形,如果不能,则抛出我们自定义的`TriangleException`异常。如果没有出现任何异常,则说明这三个数值可以构成三角形。
阅读全文