【发布时间】:2017-10-05 00:15:02
【问题描述】:
通过这两个课程,我正在制作方形物体,为明天的考试做准备。 S1 是使用默认创建的,S2 是通过非默认创建的。由于某种原因,它会将除 Side 之外的所有值打印为 0。请帮助。
public class SquareRunner{
public static void main(String[] args)
{
Square S1 = new Square();
Square S2 = new Square(4);
System.out.println(S1.toString());
System.out.println(S2.toString());
}
}
import java.lang.Math;
public class Square
{
private int s, a, p;
private double d;
public Square()
{
s = 1;
}
public Square(int side)
{
s = side;
}
public int getSide()
{
return s;
}
public int getArea()
{
a = s * s;
return a;
}
public double getDiagonal()
{
double d;
d = Math.sqrt(Math.pow(s,2) + Math.pow(s,2));
return d;
}
public int getPerimeter()
{
p = 4 * s;
return p;
}
public String toString()
{
return "Side: " + s + " Perimeter: " + p + " Area: " + a + " Diagonal: "
+ d;
}
}
【问题讨论】:
-
您何时计算面积、周长和对角线的值?你没有得到价值,因为此时那里什么都没有
-
还有,为什么在所有这些方法中都有 int side 作为参数?那没有意义。例如,看看你的 get side 方法。那里的 int 是什么?
-
我应该在哪里计算面积、周长和对角线?在 RectangleRunner 类中?
-
你需要在你的 toString() 中修复它。但在你这样做之前,你需要修复你在每个方法中都有的这个 int 方面的东西。
-
我取出了 int 端,但是如何调用 toString() 中的函数?