【问题标题】:Beginner Return Assistance [duplicate]初学者返回援助[重复]
【发布时间】:2015-04-03 17:12:38
【问题描述】:

嘿,我想知道为什么这里的“return ask”在我的 main 方法中打印出来时不会改变 'ask' 的值(它在 main 中打印出 0,但在 Log 方法中有效)以及如何我能修好它。提前致谢!

public static int Log(int ask){

    int b=0;
    int c =0;
    c = scannerobj.nextInt();
    b = scannerobj.nextInt();
    ask = b*c;
    System.out.println(ask);
    return ask;
}

public static void main(String [] args){
    int ask=0;

    Log(ask);

    System.out.println(ask);

}

【问题讨论】:

    标签: java return return-value


    【解决方案1】:

    因为您从未重置 ask 变量,而是忽略了 Log 方法返回的 int:

    Log(ask); // the int returned is not assigned to anything
    

    改为:

    ask = Log(ask); // assign the int returned from the method back into ask.
    

    还要了解 Log 方法中的 ask 参数与您的 main 方法中的 ask 变量完全断开。改变一个不会对另一个产生影响,特别是因为 ask 是一个原始类型,而 Java 是按值传递的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      • 2019-05-30
      • 2022-10-15
      • 1970-01-01
      • 1970-01-01
      • 2013-07-04
      • 2016-01-10
      相关资源
      最近更新 更多