输入三角形三边长,判断是否构成三角形。如果能构成三角形,打印输出是正三角形、等腰直角三角形、等腰三角形、直角三角形,还是不规则三角形。最后计算周长和面积并输出。用java编译
时间: 2024-09-23 12:09:56 浏览: 45
在Java中,我们可以创建一个函数来接受三角形的三条边长作为输入,然后检查它们是否满足构成三角形的条件(任意两边之和大于第三边),接着确定三角形的类型,并计算其周长和面积。以下是详细的代码实现:
```java
import java.util.Scanner;
public class TriangleProperties {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入三角形的三边长
System.out.println("请输入三角形的第一条边长(单位:厘米):");
double sideA = scanner.nextDouble();
System.out.println("请输入三角形的第二条边长(单位:厘米):");
double sideB = scanner.nextDouble();
System.out.println("请输入三角形的第三条边长(单位:厘米):");
double sideC = scanner.nextDouble();
// 判断是否构成三角形
if (isValidTriangle(sideA, sideB, sideC)) {
String triangleType = determineTriangleType(sideA, sideB, sideC);
// 输出三角形类型
System.out.println("这是一个" + triangleType + "三角形。");
// 计算并输出周长
double perimeter = calculatePerimeter(sideA, sideB, sideC);
System.out.println("三角形的周长为:" + perimeter + "厘米。");
// 计算并输出面积(假设海伦公式适用于所有类型的三角形)
double area = calculateArea(sideA, sideB, sideC);
System.out.println("三角形的面积为:" + area + "平方厘米。");
} 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 determineTriangleType(double a, double b, double c) {
if (a == b && b == c) return "等边";
if (Math.abs(a - b) < 0.00001 && Math.abs(b - c) < 0.00001) return "等腰";
if (a * a + b * b == c * c || a * a + c * c == b * b) return "直角";
return "不规则";
}
// 计算周长
private static double calculatePerimeter(double a, double b, double c) {
return a + b + c;
}
// 计算面积(海伦公式)
private static double calculateArea(double a, double b, double c) {
double s = (a + b + c) / 2; // 半周长
return Math.sqrt(s * (s - a) * (s - b) * (s - c));
}
}
阅读全文