欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVA求矩形三角形圆形梯形的面积和周长

程序员文章站 2022-06-28 17:47:22
用java实现图形面积周长计算器1.一个接口public interface Shape { default void GetArea()//面积 { } default void GetPerimetter()//周长 { }}2.圆形类import java.util.Scanner;//圆形类public class Circle implements Shape { private float r;//半径...

用java实现图形面积周长计算器

1.一个接口

public interface Shape {


     default void GetArea()//面积
    {
    }


     default void GetPerimetter()//周长
    {
    }
}


2.圆形类

import java.util.Scanner;
//圆形类
public class Circle implements Shape {
    private float r;//半径

    Scanner sc = new Scanner(System.in);


    public void Assignment()//赋值方法
    {
        System.out.println("请输入圆形半径r的值");
        r=sc.nextFloat();
    }

    @Override
    public void GetArea() {
        System.out.println("圆形的面积为"+ (float) (Math.PI*r*r));
    }

    @Override
    public void GetPerimetter() {
        System.out.println("圆形的周长为"+ (float) (2*Math.PI*r));
    }
}

3.矩形类

import java.util.Scanner;

//矩形类
 class Rectangle implements Shape{
     private float a;//边长a
     private float b;//边长b

    Scanner sc = new Scanner(System.in);


    public void Assignment()
    {
        System.out.println("请输入矩形边长a的值");
        a=sc.nextFloat();
        System.out.println("请输入矩形边长b的值");
        b=sc.nextFloat();
    }

    @Override
    public void GetArea() {
        System.out.println("矩形的面积为"+a*b);
    }


    @Override
    public void GetPerimetter() {
        System.out.println("矩形的周长为"+2*(a+b));
    }

}

4. 三角形类

import java.util.Scanner;

//三角形类
public class Triangle implements Shape {
    private float a;
    private float b;
    private float c;
    private float s;//面积
    private float d;//周长
    Scanner sc = new Scanner(System.in);


    public void Assignment()
        {
        System.out.println("请输入三角形边长a的值");
        a=sc.nextFloat();
        System.out.println("请输入三角形边长b的值");
        b=sc.nextFloat();
        System.out.println("请输入三角形边长c的值");
        c=sc.nextFloat();
        float p = (a+b+c)/2;//p为三角形半边周长
         s = (float) Math.sqrt(p*(p-a)*(p-b)*(p-c));//面积
         d = a+b+c;//周长
         }


    public void  judge(){  //判断三角形边长关系
        while ((a+b)<=c&&(a-c)<=b)
        {
            System.out.println("您输入的三角形边长有误,请重新输入");
            Assignment();
            if((a+b)>c&&(a-c)>b)
            {
                break;
            }
        }

    }


    @Override
    public void GetArea() {
        System.out.println("三角形面积为"+s);
    }

    @Override
    public void GetPerimetter() {
        System.out.println("三角形周长为"+d);
    }
}

5.梯形类

import java.util.Scanner;

//梯形
public class Trapezoidal implements Shape{
    private float a;//上底
    private float b;//下底
    private float y1;//梯形的腰1
    private float y2;//梯形的腰2
    private float h;//梯形高

    Scanner sc = new Scanner(System.in);


    public void Assignment()
    {
        System.out.println("请输入梯形上底a的值");
        a=sc.nextFloat();
        System.out.println("请输入梯形下底b的值");
        b=sc.nextFloat();
        System.out.println("请输入梯形腰边长c的值");
        y1=sc.nextFloat();
        System.out.println("请输入梯形腰边长d的值");
        y2=sc.nextFloat();
        System.out.println("请输入梯形的高h的值");
        h=sc.nextFloat();

    }


    @Override
    public void GetArea() {

        System.out.println("梯形面积为"+((a+b)*h)/2);
    }

    @Override
    public void GetPerimetter() {
        System.out.println("梯形周长为"+(a+b+y1+y2));

    }
}

6.主函数

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while (true) {
            Show();
            String opr =sc.nextLine();
            switch (opr) {
                case "1":
                    Rectangle();
                    break;

                case "2":
                    Circle();
                    break;

                case "3":
                    Trapezoidal();
                    break;

                case "4":
                    Triangle();
                    break;

                case "0":
                    System.out.println("********欢迎下次使用********");
                    System.exit(0);
                    break;

                default:
                    System.out.println("您输入有误,请重新输入");
                    System.out.println("***********************");
                    break;
            }

        }
    }
    public static void Rectangle()//矩形
    {
        Rectangle Rec = new Rectangle();//创建对象
        Rec.Assignment();//赋值
        Rec.GetArea();//面积
        Rec.GetPerimetter();//周长
    }


    public static void Circle()//圆形
    {
        Circle Cir = new Circle();
        Cir.Assignment();//赋值
        Cir.GetArea();//面积
        Cir.GetPerimetter();//周长
    }


    public static void Triangle()//三角形
    {
        Triangle Tri = new Triangle();
        Tri.Assignment();//赋值
        Tri.judge();//判断
        Tri.GetArea();//面积
        Tri.GetPerimetter();//周长

    }


    public static void Trapezoidal()//梯形
    {
        Trapezoidal Tri = new Trapezoidal();
        Tri.Assignment();//赋值
        Tri.GetArea();//面积
        Tri.GetPerimetter();//周长
    }


    public static void Show()
    {
        System.out.println("****************************");
        System.out.println("  欢迎使用图形面积周长计算器  ");
        System.out.println("****************************");
        System.out.println("****请输入您需要计算的图形****");
        System.out.println("         输入1  矩形         ");
        System.out.println("         输入2  圆形         ");
        System.out.println("         输入3  梯形         ");
        System.out.println("         输入4  三角形         ");
        System.out.println("         输入0  退出系统         ");
    }


}

7.运行效果

JAVA求矩形三角形圆形梯形的面积和周长
可判断三角形边长关系
JAVA求矩形三角形圆形梯形的面积和周长

本文地址:https://blog.csdn.net/weixin_46235428/article/details/109648699

相关标签: Java