以下是一个计算各种多边形面积的Java程序:

import java.util.Scanner;

public class PolygonAreaCalculator {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请选择要计算的多边形类型:");
        System.out.println("1. 圆形");
        System.out.println("2. 正方形");
        System.out.println("3. 长方形");
        System.out.println("4. 正五边形");
        System.out.println("5. 其他多边形");
        int choice = scanner.nextInt();
        
        switch (choice) {
            case 1:
                System.out.print("请输入圆的半径:");
                double radius = scanner.nextDouble();
                double circleArea = Math.PI * radius * radius;
                System.out.println("圆的面积为:" + circleArea);
                break;
            case 2:
                System.out.print("请输入正方形的边长:");
                double squareSide = scanner.nextDouble();
                double squareArea = squareSide * squareSide;
                System.out.println("正方形的面积为:" + squareArea);
                break;
            case 3:
                System.out.print("请输入长方形的长和宽:");
                double rectangleLength = scanner.nextDouble();
                double rectangleWidth = scanner.nextDouble();
                double rectangleArea = rectangleLength * rectangleWidth;
                System.out.println("长方形的面积为:" + rectangleArea);
                break;
            case 4:
                System.out.print("请输入正五边形的边长:");
                double pentagonSide = scanner.nextDouble();
                double pentagonArea = 0.25 * Math.sqrt(5 * (5 + 2 * Math.sqrt(5))) * pentagonSide * pentagonSide;
                System.out.println("正五边形的面积为:" + pentagonArea);
                break;
            case 5:
                System.out.print("请输入多边形的边数:");
                int numSides = scanner.nextInt();
                double[] x = new double[numSides];
                double[] y = new double[numSides];
                System.out.println("请输入多边形的各个顶点坐标(逆时针方向):");
                for (int i = 0; i < numSides; i++) {
                    System.out.print("第" + (i+1) + "个顶点的x坐标:");
                    x[i] = scanner.nextDouble();
                    System.out.print("第" + (i+1) + "个顶点的y坐标:");
                    y[i] = scanner.nextDouble();
                }
                double polygonArea = 0;
                for (int i = 0; i < numSides; i++) {
                    polygonArea += x[i] * y[(i+1)%numSides] - x[(i+1)%numSides] * y[i];
                }
                polygonArea = 0.5 * Math.abs(polygonArea);
                System.out.println("多边形的面积为:" + polygonArea);
                break;
            default:
                System.out.println("输入有误!");
        }
        
        scanner.close();
    }

}

该程序使用了switch语句根据用户输入的选择来计算不同类型的多边形面积。对于圆形、正方形和长方形,直接使用公式计算面积即可;对于正五边形,使用了其特定的面积公式;对于其他多边形,则需要输入各个顶点的坐标,并使用叉积计算面积。注意,这里假设多边形的顶点按逆时针方向依次输入

编写一个程序计算圆形啽角形长方形正五边形等 嵔形面积 java

原文地址: https://www.cveoy.top/t/topic/g0xP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录