代码之家  ›  专栏  ›  技术社区  ›  user2218128

Java使用方法添加整数

  •  0
  • user2218128  · 技术社区  · 10 年前

    我遇到了一个相对简单的问题:我试图使用另一个类的方法添加到主类中的整数,但整数的值没有增加,值保持不变,这是代码的样子:

    public class prog{
    
    /**
     * @param args
     * @throws MidiUnavailableException 
     */
    
    public static void main(String[] args) {
    int num = 11;
    thing.add(num);
    System.out.println(num);
    }
    }
    

    类“thing”是:

    public class chords2 {
    
    static void add(int val){
        val = val+9;
    
    }
    

    }

    关于如何使其发挥作用的任何提示都非常感谢

    3 回复  |  直到 10 年前
        1
  •  1
  •   merlin2011    10 年前

    在Java中, int 按值传递。如果你想 add 您应该返回值并重新分配它。

    static int add(int val){
        return val+9;
    }
    

    然后,称之为,

    int num = 11;
    num = thing.add(num);
    
        2
  •  1
  •   Community Egal    7 年前

    发生的是 Java is always pass-by-value . 因此,在您的示例中,如果修改整数 val 在方法内部,它不会在外部产生影响。

    你能做什么?

    您可以声明方法以返回 integer ,然后将结果分配给所需的变量:

    static int add(int val){
        return val + 9;    
    }
    

    当你调用它时:

    int num = 11;
    num = SomeClass.add(num); // assign the result to 'num'
    
        3
  •  0
  •   D.S    10 年前

    在thing类中应该有一个私有的int val,否则将“return”语句添加到add()方法中,并将返回值设置回调用位置。