java
import java.util.Scanner;
public class GeometryCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入幾何圖形的類型(圓形、矩形、三角形、平行四邊形):");
String shapeType = scanner.nextLine();
double radius = 0;
double length = 0;
double height = 0;
double base = 0;
double perimeter = 0;
double area = 0;
switch (shapeType) {
case "圓形":
System.out.print("請輸入圓的半徑:");
radius = scanner.nextDouble();
perimeter = 2 * Math.PI * radius;
area = Math.PI * radius * radius;
break;
case "矩形":
System.out.print("請輸入矩形的長度:");
length = scanner.nextDouble();
System.out.print("請輸入矩形的高度:");
height = scanner.nextDouble();
perimeter = 2 * (length + height);
area = length * height;
break;
case "三角形":
System.out.print("請輸入三角形的底邊長度:");
base = scanner.nextDouble();
System.out.print("請輸入三角形的高:");
scanner.nextDouble(); // 高是可選的,這裏暫時不計算,所以跳過輸入
perimeter = 3 * base / 2; // 半周長公式 P = (a + b + c) / 2,a、b、c是三角形的三條邊長
area = Math.sqrt(base * base - (base / 2) * (base / 2)); // 海倫公式 S = sqrt[p * (p - a) * (p - b) * (p - c)],p是半周長
break;
case "平行四邊形":
System.out.print("請輸入平行四邊形的底邊長度:");
base = scanner.nextDouble();
System.out.print("請輸入平行四邊形的高:");
scanner.nextDouble(); // 高是可選的,這裏暫時不計算,所以跳過輸入
perimeter = 2 * (base + 2 * base / Math.tan(Math.toRadians(45))); // 斜邊長度計算公式 c = a / sin(A),A是銳角,a是直角邊長度,c是斜邊長度,再計算周長 P = 2(a + c)
area = base * base / Math.tan(Math.toRadians(45)); // 面積計算公式 S = a * c,a是直角邊長度,c是斜邊長度
break;
default:
System.out.println("無效的幾何圖形類型!");
break;
}
if (shapeType != null) { // 如果用戶輸入了有效的幾何圖形類型,則輸出結果
System.out.println("周長:" + perimeter);
System.out.println("面積:" + area);
} else { // 如果用戶輸入了無效的幾何圖形類型,則提示錯誤信息並退出程序
System.out.println("錯誤!請輸入有效的幾何圖形類型。");
System.exit(0); // 退出程序
}
}
}