用JAVA写出满足以下要求的程序输入三角形的三条边a、b、c,判断并输出能否构成三角形(任意两条边的和大于第三条边),如果能构成三角形,输出是什么类型的三角形(等边、等腰、直角)。
时间: 2024-10-05 16:04:01 浏览: 32
下面是一个Java程序,它接受用户输入的三条边长,并判断是否能构成三角形以及其类型:
```java
import java.util.Scanner;
public class TriangleClassifier {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入三角形的第一条边长a: ");
double a = scanner.nextDouble();
System.out.print("请输入三角形的第二条边长b: ");
double b = scanner.nextDouble();
System.out.print("请输入三角形的第三条边长c: ");
double c = scanner.nextDouble();
if (isValidTriangle(a, b, c)) {
String triangleType = classifyTriangle(a, b, c);
System.out.println("这是一条" + triangleType + "三角形.");
} else {
System.out.println("这三个长度无法构成三角形.");
}
scanner.close();
}
// 判断三条边是否能构成三角形
private static boolean isValidTriangle(double a, double b, double c) {
return a + b > c && a + c > b && b + c > a;
}
// 根据边长分类三角形类型
private static String classifyTriangle(double a, double b, double c) {
if (a == b && b == c) {
return "等边";
} else if (a == b || b == c || a == c) {
return "等腰";
} else if (Math.pow(a, 2) + Math.pow(b, 2) == Math.pow(c, 2) ||
Math.pow(b, 2) + Math.pow(c, 2) == Math.pow(a, 2) ||
Math.pow(a, 2) + Math.pow(c, 2) == Math.pow(b, 2)) {
return "直角";
} else {
return "普通";
}
}
}
```
在这个程序中,我们首先检查边长是否满足构成三角形的条件,然后根据边长相等的情况分类三角形类型。
阅读全文