如何编写一个能处理负数并从命令行接收三个整数输入的程序,用于检查这三个数能否构成一个有效的三角形?同时,请提供必要的错误处理代码来应对负数输入的情况。Java语言实现
时间: 2024-11-22 17:35:21 浏览: 13
C语言输入一个整数序列并计算他们的值.rar_C语言输入一个整数序列并计算他们的值_输入序列C语言
5星 · 资源好评率100%
在Java中,你可以通过Scanner类从命令行获取用户输入,并利用三角形边长的性质(任意两边之和大于第三边)来判断输入的三个整数是否可以构成一个有效的三角形。以下是实现的一个简单示例:
```java
import java.util.Scanner;
public class TriangleCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入三个整数:");
try {
int a = scanner.nextInt(); // 第一边
int b = scanner.nextInt(); // 第二边
int c = scanner.nextInt(); // 第三边
if (a < 0 || b < 0 || c < 0) {
throw new IllegalArgumentException("输入的数值不能为负数。");
}
if (isValidTriangle(a, b, c)) {
System.out.println("这三个数字可以构成一个有效的三角形。");
} else {
System.out.println("这三个数字不能构成一个有效的三角形。");
}
} catch (Exception e) {
System.err.println(e.getMessage());
} finally {
scanner.close();
}
}
/**
* 检查三个数是否满足构成有效三角形的条件
*/
public static boolean isValidTriangle(int a, int b, int c) {
return a + b > c && a + c > b && b + c > a;
}
}
```
在这个程序中,我们首先捕获`nextInt()`可能出现的`InputMismatchException`异常,如果用户输入的是非整数,就会抛出这个异常。然后,我们检查每个输入值是否小于零,如果是则抛出`IllegalArgumentException`。最后,使用`isValidTriangle`函数来判断这三个数是否能组成一个有效的三角形。
阅读全文