如何从 void 方法中获取一个值到 toString 方法中?
How can I get a value froma void method into a toString method?
在我的 class 中,我们有一个计算立方体体积和表面积的作业。但是,我们只能使用一个实例字段。这是我目前所拥有的...
第一件事是为立方体创建一个class,如下所示。
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
方法计算出的值。
目前,测试器 class 中的代码如下所示
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());
,输出会像 [=15] =].但是,我坚持尝试从 void 方法中实际取回值。我能帮忙吗?谢谢。
编辑:作业的完整要求如下;
cube class 应该包含一个默认构造函数、一个接受整数边值的构造函数、一个 get 方法、一个计算体积的方法、一个计算表面积的方法和一个 toString 方法。 class 应仅包含一个实例字段。
我还必须创建一个测试文件,该文件构造一个多维数据集并包含对 class 中所有方法的方法调用。
首先,您需要修复 surfaceArea() 和 volume() 方法。它应该只是 return 计算结果。
然后在您的 toString() 方法中,调用这两个方法来获取体积和面积。
在你的主要方法中使用
System.out.println(cube1);
调用 toString 方法。上面一行相当于
System.out.println(cube1.toString());
您可以将函数更改为 return 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() + "]";
}
在我的 class 中,我们有一个计算立方体体积和表面积的作业。但是,我们只能使用一个实例字段。这是我目前所拥有的...
第一件事是为立方体创建一个class,如下所示。
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
方法计算出的值。
目前,测试器 class 中的代码如下所示
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());
,输出会像 [=15] =].但是,我坚持尝试从 void 方法中实际取回值。我能帮忙吗?谢谢。
编辑:作业的完整要求如下; cube class 应该包含一个默认构造函数、一个接受整数边值的构造函数、一个 get 方法、一个计算体积的方法、一个计算表面积的方法和一个 toString 方法。 class 应仅包含一个实例字段。
我还必须创建一个测试文件,该文件构造一个多维数据集并包含对 class 中所有方法的方法调用。
首先,您需要修复 surfaceArea() 和 volume() 方法。它应该只是 return 计算结果。
然后在您的 toString() 方法中,调用这两个方法来获取体积和面积。
在你的主要方法中使用
System.out.println(cube1);
调用 toString 方法。上面一行相当于
System.out.println(cube1.toString());
您可以将函数更改为 return 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() + "]";
}