我知道程序很邋at但我不确定我是否正确使用了返回。我正在尝试找到一种方法来在main方法中打印长度的正方形/立方体/超立方体,但变量不会“延续”到output()。
public class Power2
{
public static void main(String[] args)
{
Power2 p = new Power2();
int length = 6;
p.square( length );
p.cube( length );
p.hypercube( length );
output();
}
public int square( int length )
{
int sSquare = (length*length) ;
return sSquare;
}
public int cube( int length )
{
int sCube = (length*length*length);
return sCube;
}
public int hypercube( int length )
{
int sHypercube = (length*length*length*length);
return sHypercube;
}
public static void output()
{
System.out.println(sSquare);
System.out.println(sCube);
System.out.println(sHypercube);
}
}
答案 0 :(得分:3)
他们正在回归。但是你没有收到它们。
只是为了澄清,将它们分配给变量,如
int i = p.square( length );
int j = p.cube( length );
int k = p.hypercube( length );
现在您可以打印i ,j , k
或
直接打印它们
System.out.println(p.square( length ));
就像明智的剩下。
答案 1 :(得分:1)
您需要将这些值传递给输出方法,以便可以在那里使用它们。像这样的东西
// In main - values returned by the methods is sent to the output method
output(p.square( length ), p.cube( length ), p.hypercube( length )); // calling output method with the values to be printed
// Output method - signature changed to accept 2 input parameters
public static void output(int sSquare, int sCube, int sHypercube) {
答案 2 :(得分:1)
应该是这样的
int a= p.square( length ); int b =p.cube( length ); int c = p.hypercube( length ); output(a,b,c);
和
public static void output(int a,int b,int c){ 的System.out.println(A,B,C);
}
答案 3 :(得分:1)
首先,您需要指定返回值:
int squareResult = p.square( length );
int cubeResult = p.cube( length );
int hypercubeResult = p.hypercube( length );
然后你需要将它们作为参数传递:
output(squareResult, cubeResult, hypercubeResult);
并且您的output
方法应如下所示:
public static void output(int squareResult, int cubeResult, int hypercubeResult) {
// ...
}
有些人可能会告诉你使用字段但是要抵制这样做的诱惑。将状态引入效用函数是在寻找麻烦。
答案 4 :(得分:1)
您有两种选择。
第一个是将您的sHypercube
等变量声明为字段。这意味着您需要添加
private int sHypercube;
到你的班级。然后你就可以使用输出方法的代码了。
第二个选项是保留所有计算方法,并将返回值保存在输出方法的变量中。即像这样的东西:
public static void output(int length)
{
int sHypercube = hypercube(length);
System.out.println(sHypercube);
}
如果您需要有关变量范围的更多信息,可以google它或者查看this post(这是我在谷歌上发现的第一件事)