我正在为一个类编写代码,这个类要求我编写一个Area类来计算以下形状的面积:圆形、矩形和柱面。
圆的面积= (π)(r^2),其中π是半径,r是圆的半径
矩形面积=(宽度)*(长度)
圆柱体的面积= (π)(r^2)(h)其中π是Math.PI,r是圆柱体的底面,h是圆柱体的高度
我还必须创建一个Area Test类,但我不知道从哪里开始。
发布于 2009-07-06 23:54:19
由于这是一个家庭作业,我们不能给你答案,但我们可以用正确的方法指导你。
既然你说你在这门课上做得很好,我就假设你已经了解了一些Java --这从来不是编程入门中的第一个作业。
考虑一下Area类。它提供服务,但从不实例化。换句话说,没有区域“对象”。只有一些数学函数。因此,所有函数都需要是“静态的”,这样您就可以编写类似Area.circleArea(...)的代码。
现在来写:显然,你从数学上理解了这些函数是什么。考虑一下如何用Java编写它们。显然,您正在处理三个不同的函数。您如何声明它们中的每一个?
换句话说,像下面这样的函数中的?
static ???? areaOfCircle(????)
{
BODY
}
static ???? areaOfRectangle(????, ????)
{
BODY
}第三个呢?这取决于你..。
如果你弄清楚了问号部分,你就会得到这些函数的“空壳”。一旦你有了它,你会发现编写实际的正文是非常简单的。或者,让我们看看你有什么,到时候我们会尽力帮助你。
发布于 2009-07-07 01:15:44
圆柱体的高度: Area= ( TT )(r^2)(h)其中TT是Math.PI,r是圆柱体的底面,h是圆柱体的高度...
抱歉,这是个简单的错误。(只要看看单元-它们是长度立方体,而不是长度的平方。)圆柱体的表面积不是由这个公式给出的。你从哪里弄到的?
圆柱体的表面积是圆柱体两端和边上圆的面积之和,即:
2πr^2 + 2πrh = 2πr(r+h)
听起来像是某种多态赋值,你应该有一个形状接口:
public interface Shape
{
double area();
}然后,您将拥有实现此接口并返回面积值的子类。如果您真的很聪明,那么您将拥有一个可以循环遍历的形状数组,它们调用不同的area()方法,并根据每个形状的运行时类型显示不同的结果。它实际上是自己写的。
发布于 2009-07-06 23:57:31
public static class Area
{
public static double getArea(double radius)
{
return Math.PI * radius * radius;
}
public static double getArea(int length, int width)
{
return length * width;
}
public static double getArea(double radius, double height)
{
return Math.PI * radius * radius * height;
}
}https://stackoverflow.com/questions/1089725
复制相似问题