【问题标题】:i am very confused how parameters and return我很困惑如何参数和返回
【发布时间】:2020-08-21 22:24:40
【问题描述】:

我执行这段代码后,输出是输出是 3 0 1 2 4 你能解释一下输出吗?神秘类序列中的参数是否在其中起作用?

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 4”。有没有你遗漏的代码?
  • 其实是的。对不起!应该有z =神秘(x,z,y);打印前。我已经在上面更正了。输出是 3 0 1 2 4 你能解释一下输出吗

标签: java class parameters int return


【解决方案1】:

它会打印 1 2 3,而且你没有调用 mystery 函数,所以它不会影响。

UPD。 问题已更新,让我们看看您的功能

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

【讨论】:

    猜你喜欢
    • 2015-04-02
    • 1970-01-01
    • 2011-04-11
    • 2020-08-17
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多