Java实现求多个矩形、三角形、圆形和梯形的周长和面积

实现:由用户选择对哪个图形进行计算,由用户决定是否退出程序,界面友好、可读性强。

import java.util.Scanner;

class rectangle//矩形
{
    int long1;//长
    int wide1;//宽
    public void setLong1(int long1)
    {
        this.long1=long1;
    }
    public int getLong1()
    {
        return long1;
    }
    public void setWide1(int wide1)
    {
        this.wide1=wide1;
    }
    public int getWide1()
    {
        return wide1;
    }
    public int perimeter()//求矩形周长
    {
        int c=0;
        c=(long1+wide1)*2;
        return c;
    }
    public float area()//求矩形面积
    {
        float s=0;
        s=long1*wide1;
        return s;
    }
}
class circular//圆
{
    int r;//圆的半径
    public void setr(int r)
    {
        this.r=r;
    }
    public int getr()
    {
        return r;
    }
    public float perimeter()//圆的周长
    {
        float c;
        c=2*3.14f*r;
        return c;
    }
    public float area()//圆的面积
    {
        float s;
        s=3.14f*r*r;
        return s;
    }
}
class triangle//三角形
{
    int a,b,d;//三边长
    float h;//高
    public void seta(int a)
    {
        this.a=a;
    }
    public void setb(int b)
    {
        this.b=b;
    }
    public void setd(int d)
    {
        this.d=d;
    }
    public void seth(float h)
    {
        this.h=h;
    }
    public int geta()
    {
        return a;
    }
    public int getb()
    {
        return b;
    }
    public int getd()
    {
        return d;
    }
    public float geth()
    {
        return h;
    }
    public int perimeter()//三角形周长
    {
        int c=0;
        c=a+b+d;
        return c;
    }
    public float area()//三角形面积
    {
        float s=0;
        s=d*h/2;
        return s;
    }

}
class trapezoid//等腰梯形
{
    int d1,d2,h,y;//上底、下底、高、腰
    public void setd1(int d1)
    {
        this.d1=d1;
    }
    public int getd1()
    {
        return d1;
    }
    public void setd2(int d2)
    {
        this.d2=d2;
    }
    public int getd2()
    {
        return d2;
    }
    public void seth(int h)
    {
        this.h=h;
    }
    public int geth()
    {
        return h;
    }
    public void sety(int y)
    {
        this.y=y;
    }
    public int gety()
    {
        return y;
    }
    public int perimeter()//梯形周长
    {
        int c=0;
        c=d1+d2+y*2;
        return c;
    }
    public float area()//梯形面积
    {
        float s=0;
        s=(d1+d2)*h/2;
        return s;
    }
}
public class work2
{
    static Scanner in=new Scanner(System.in);
    static rectangle jx=new rectangle();
    static circular yx=new circular();
    static triangle sjx=new triangle();
    static trapezoid tx=new trapezoid();
    public static void main(String[] args) 
    {
        int n=1;
        while(n!=0)
        {
            System.out.println("\n0.退出程序;1.矩形;2.圆形;3.三角形;4.梯形;\n");
            System.out.println("请选择要计算的图形:\n");
            n=in.nextInt();
            switch(n)
            {
                case 1:
                    System.out.println("请输入矩形的长和宽:\n");
                    jx.setLong1(in.nextInt());
                    jx.setWide1(in.nextInt());
                    System.out.print("矩形周长为:"+jx.perimeter());
                    System.out.print("\n矩形面积为:"+jx.area());
                    break;

                case 2:
                    System.out.println("请输入圆形的半径:\n");
                    yx.setr(in.nextInt());
                    System.out.print("圆形周长为:"+yx.perimeter());
                    System.out.print("\n圆形面积为:"+yx.area());
                    break;
                case 3:
                    System.out.println("请输入三角形的两个边长:\n");
                    sjx.seta(in.nextInt());
                    sjx.setb(in.nextInt());
                    System.out.println("请输入三角形的底边长:\n");
                    sjx.setd(in.nextInt());
                    System.out.println("请输入三角形的高:\n");
                    sjx.seth(in.nextFloat());
                    System.out.print("三角形周长为:"+sjx.perimeter());
                    System.out.print("\n三角形面积为:"+sjx.area());
                    break;
                case 4:
                    System.out.println("请输入等腰梯形的上底、下底、腰长、高:\n");
                    tx.setd1(in.nextInt());
                    tx.setd2(in.nextInt());
                    tx.sety(in.nextInt());
                    tx.seth(in.nextInt());
                    System.out.print("梯形周长为:"+tx.perimeter());
                    System.out.print("\n梯形面积为:"+tx.area());
                    break;
                case 0:
                    System.out.println("退出程序!\n");
                    break;
                default:
                    System.out.println("输入有误!");
                    break;
            }
        }
    }
        
}

 代码简略,希望能帮到大家理解Java语言。

猜你喜欢

转载自blog.csdn.net/weixin_61936651/article/details/125099299