如何将值从void方法转换为toString方法?

时间:2019-09-20 05:13:55

标签: java void

在我的课堂上,我们有一个作业,我们在其中计算立方体的体积和表面积。但是,我们只能使用一个实例字段。这就是我到目前为止所拥有的...

第一件事是为多维数据集创建一个类,如下所示。

public class cube{
//instance fields
private int sideLength;

//constructors
public cube() {
}

public cube(int height, int length, int width){
    height=sideLength;
    length=sideLength;
     width=sideLength;

}

//methods

public int sideLength(){
    return sideLength;
}

public void surfaceArea(){
    int surfaceArea = (sideLength * sideLength) * 6;
}

public void volume(){
    int volume = sideLength * sideLength * sideLength;
}

public String toString(){
  return "cube[Side Length = "+sideLength+", Volume = , Surface area =]";
}

}

最麻烦的地方是找出toString方法。我必须获取从volumesurfaceArea方法计算出的值。 当前,测试器类中的代码如下:

public class cubeTester{
   public static void main (String[] args){
      cube cube1 = new cube(6, 6, 6);
      cube1.volume();
      cube1.surfaceArea();
      // From here on I have clue what to do

因此,我什至不确定我是否正确创建了多维数据集,但最终我需要能够执行以下操作:System.out.println(cube1.toString());,其中输出将类似于Cube[Side Length = 6, Volume = 216, Surface Area = 216] 。但是,我坚持尝试实际从void方法中获取值。我可以帮忙吗?谢谢。

编辑:分配的完整要求如下: 多维数据集类应包含一个默认构造函数,一个采用整数边值的构造函数,一个get方法,一个用于计算体积的方法,一个用于计算表面积的方法以及一个toString方法。该类应仅包含一个实例字段。

我还必须创建一个测试文件,该文件构造一个多维数据集并包含对该类中所有方法的方法调用。

2 个答案:

答案 0 :(得分:3)

您可以将函数更改为返回int而不是void,如下所示:

df = pd.DataFrame(rent_aug_df[(rent_aug_df[['lat','lng']].apply(lambda x: haversine(x, (37.504855525623, 127.04866656867)), axis=1)) <= 0.1])

然后,您可以像这样编写toString()函数:

    public int surfaceArea(){
        return ((sideLength * sideLength) * 6);
    }

    public int volume(){
        return (sideLength * sideLength * sideLength);
    }

答案 1 :(得分:0)

首先,您需要修复 surfaceArea() volume()方法。它只应返回计算结果。

然后在您的 toString()方法中,调用这两个方法以获取体积和面积。

在您的主要方法中使用

System.out.println(cube1);

调用toString方法。上一行相当于

System.out.println(cube1.toString());