java - 如何从 void 方法获取值到 toString 方法?

标签 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 方法。该类应该只包含一个实例字段。

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

最佳答案

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

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

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

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

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

关于java - 如何从 void 方法获取值到 toString 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58022133/

相关文章:

java - Hazelcast IMap : keySet() versus localKeySet()

c# - UnitTesting 非返回方法 c#

c - 为什么我不能在这个程序中构建一个不返回类型的函数?

java - 使用 toCharArray 时此处不允许使用空类型?

C char函数(void)和void函数(void)的区别

java - 使用 next() 时扫描仪中出现 NoSuchElementException

java - 无法执行 Activity 的方法?

java - 允许对 void 调用返回语句

java - 在有限区域的中心位置周围随机出现 "walk"?

java - 在手机上单步执行 Android 代码 - 大行号差异