java题目,求大神帮忙

2024-11-07 10:48:02
推荐回答(3个)
回答(1):

代码仅供参考!

public class Shape {
    
    public static void main(String[] args) {
Shape shape = new Shape();
System.out.println("圆的面积:"+shape.area(3.14, 1.0));
System.out.println("正方形面积:"+shape.area(1.0));
System.out.println("梯形面积:"+shape.area(2.0, 3.0, 1.0));
    }
    /**
     * 公式中p,r分别为π及半径
     * @param p
     * @param r
     * @return
     */
    public Double area(Double p, Double r){//圆的面积
return p*r*r;
    }
    /**
     * a为边长
     * @param a
     * @return
     */
    public Double area(Double a){//正方形面积
return a*a;
    }
    /**
     * 公式中a,c分别为梯形上下底,h为梯形的高
     * @param a
     * @param c
     * @param h
     * @return
     */
    public Double area(Double a,Double c,Double h){//梯形面积
return (a+c)*h/2;
    }

}

如有不懂,欢迎追问!

回答(2):

定义Shape为接口或抽象类,然后通过实现或继承来具体实现area方法,就行了。

回答(3):

这里的多态指方法的重载
//计算圆面积,需要半径参数
public double area(int r){ return 圆面积计算公式 }

//计算正方形面积,需要边长参数
public double area(int side){ return 正方形面积计算公式 }

//计算梯形面积,需要上底、下底、高参数
public double area(int topSide, int bottomSide, int hight){ return 梯形面积计算公式 }

方法返回值类型以及参数类型可以自己决定,我只是给你个例子,另外面积的计算公式我就不详细写了。
然后main函数中只需要调用一下就行了,比如
Shape shape = new Shape();

shape .area(3);// 计算半径为3的圆的面积
shape .area(2);// 计算边长为2的正方形的面积
shape .area(2,3,4);// 计算上底为2,下底为3,高为4的梯形的面积