使用toString()方法打印

时间:2014-03-23 22:59:27

标签: java string methods printing

class Box
{
    // Instance Variables
    double length ,ipsos ;
    double width ,mikos ;
    double height ,platos;
    // Constructors
    public Box ( double side )
    {
        width = side ;
        height = side ;
        length = side ;
    }
    public Box ( double x , double y , double z)
    {
        platos = y ;
        ipsos = z;
        mikos = x ;
    }

    // Methods
    double calculate(double praksi)
    {
        return 2 * ( width * height +
        width * length +
        height * length ) ;
    }
    double volume(double emvadon)
    {
        return platos*ipsos*mikos ;
    }

}

在上面的代码中,我怎样才能创建一个toString()方法,所以我可以返回卷的值并计算??? 我是java的新手,所以请尽可能简单

2 个答案:

答案 0 :(得分:1)

不太确定方法'计算','volme'的参数是什么? 如果你想要覆盖默认的toString方法,那么当你调用System.out.println(新的Box(1,2,3))时:它打印出该卷,并且值计算该框的返回值,那么下面应该工作:

Box b = new Box(1,2,3);
System.out.println(b);

然后以下内容应该有效:

@Override
public String toString()
{
  return "Volume: " + volume(0.0) + ", calculate: " + calculate(0.0);
}

这将打印音量和任何计算回报,两者都清楚地标记。

答案 1 :(得分:0)

将此方法添加到您的类中(以覆盖toString()方法):

@Override
public String toString() {
    return "Volume: " + volume(1) + "\n Calculate: " + calculate(1);
}

注意:@Override是可选的:它只是沟通,如果拼错了被覆盖的方法(toString()),请确保收到错误。

另外,如果您不使用volumecalculate,为什么还有1和{{1}}的参数?这就是为什么我将{{1}}这样的随机数传给他们的原因,因为它显然并不重要。