我很困惑参数和 return
i am very confused how parameters and return
我执行这段代码后,输出结果是
3 0
1 2 4
你能解释一下输出吗?神秘的 class 序列中的参数在其中起作用吗?
public class MysteryReturn {
public static void main(String[] args){
int x = 1;
int y=2;
int z = 3;
z = mystery(x,z,y);
System.out.println(x + " "+y+" "+z);
}
public static int mystery(int z, int x, int y){
z--;
x =2*y +z;
y=x-1;
System.out.println(y + " "+ z);
return x;
}
}
它打印 1 2 3,并且您没有调用 mystery
函数,所以它不会影响。
更新。
问题已更新,让我们看看您的函数
public static int mystery(int z, int x, int y) {
z--;
x = 2 * y + z;
y = x - 1;
System.out.println(y + " " + z);
return x;
}
可以改成
public static int mystery(int z, int x, int y) {
return 2 * y + z-1;
}
你用参数 1,3,2 调用它 - mystery(1,3,2)
所以答案变成 2*2+1-1
等于 4,所以你有 z=4,所以
System.out.println(x + " "+y+" "+z);
将打印 1 2 4
我执行这段代码后,输出结果是 3 0 1 2 4 你能解释一下输出吗?神秘的 class 序列中的参数在其中起作用吗?
public class MysteryReturn {
public static void main(String[] args){
int x = 1;
int y=2;
int z = 3;
z = mystery(x,z,y);
System.out.println(x + " "+y+" "+z);
}
public static int mystery(int z, int x, int y){
z--;
x =2*y +z;
y=x-1;
System.out.println(y + " "+ z);
return x;
}
}
它打印 1 2 3,并且您没有调用 mystery
函数,所以它不会影响。
更新。 问题已更新,让我们看看您的函数
public static int mystery(int z, int x, int y) {
z--;
x = 2 * y + z;
y = x - 1;
System.out.println(y + " " + z);
return x;
}
可以改成
public static int mystery(int z, int x, int y) {
return 2 * y + z-1;
}
你用参数 1,3,2 调用它 - mystery(1,3,2)
所以答案变成 2*2+1-1
等于 4,所以你有 z=4,所以
System.out.println(x + " "+y+" "+z);
将打印 1 2 4