0

如果有人可以在这里帮助我朝着正确的方向前进,我并没有要求所有的答案,因为我什至不知道从哪里开始做这件事。

我正在介绍 Java 课程并完成最后的硬件作业。

这是一些问题:

您必须创建一个程序来计算各种容器的表面积和体积,这些容器都是“右棱镜”。这意味着容器的末端是相同的,并且侧面垂直于末端。每个容器都有不同的形状:圆形、矩形、三角形和正多边形。所有这些容器都派生自一个通用的抽象 Container 类。

然后,您将创建一个名为 ContainerCollection 的类,该类将包含所有可能的 Container 类的数组。此类将提供计算 ContainerCollection 中所有 Container 的 totalVolume 和 totalSurfaceArea 的方法。

要点链接: https ://gist.github.com/3b9fb22e72b2a3d86e1b

给那些无法获得要点的人的文本:

abstract class Container {
    double height;

    Container(double height)
    {
        this.height = height;
    }

    abstract double getTopArea();
    abstract double getTopPerimeter();

    double getVolume()
    {
        return height * getTopArea();
    }

    double getSurfaceArea()
    {
        return 2*getTopArea() + height * getTopPerimeter();
    }
}

class CircularContainer extends Container
{
    // add appropriate data definitions
    CircularContainer(double height, double radius)
    {
        // Fill in details
    }

    // implement required abstract methods
}

class RectangularContainer extends Container
{
    // add appropriate data definitions
    RectangularContainer(double height, double width, double length)
    {
        // Fill in details

    }

    // implement required abstract methods

} 
4

1 回答 1

3

使用Eclipse之类的 IDE在 Java 中进行编码,这让生活变得更加轻松。

我看到您的作业的框架代码已经存在。您只需要在扩展Container该类的每个子类中覆盖这 4 个方法

double getTopArea()

double getTopPerimeter()

double getVolume()

double getSurfaceArea()

然后返回可以使用每个形状的特定公式计算的正确值。

例子

class RectangularContainer extends Container {
    double height, width, length;

    RectangularContainer(double height, double width, double length) {
         this.height = height;
         this.width = width;
         this.length = length;
    }

    double getTopArea() {
         return height*width;
    }

    double getTopPerimeter() {
         return 2*(height+width);
    }

    double getVolume() {
         return height*width*height;
    }

    double getSurfaceArea() {
         // ooh I can't remember this one... try to figure out this :)
    }

} 

您还应该尝试通过向方法和变量添加适当的访问修饰符来增强此代码。

于 2012-12-14T02:03:05.383 回答