在我的课堂上,我们有一个作业,我们在其中计算立方体的体积和表面积。但是,我们只能使用一个实例字段。这就是我到目前为止所拥有的...
第一件事是为多维数据集创建一个类,如下所示。
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方法。我必须获取从volume
和surfaceArea
方法计算出的值。
当前,测试器类中的代码如下:
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方法。该类应仅包含一个实例字段。
我还必须创建一个测试文件,该文件构造一个多维数据集并包含对该类中所有方法的方法调用。
答案 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());