我很困惑参数和 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