拉比小熊 2020-10-26 14:54 采纳率: 25%
浏览 58
已采纳

Java方法调用问题(求大佬们指点一下问题所在)

图片说明

调用了方法但是a和b的值没有得到改变,后面尝试将方法返回值类型改int,然后return a,但是输出依然没有改变。想请教下各位大佬问题出在哪里?要怎样调用方法才能使a,b的值得到改变?谢谢了。

  • 写回答

2条回答 默认 最新

  • Happywzy~ 2020-10-26 15:30
    关注

    这里涉及到一个问题:参数的值传递和引用传递,由于int是基本类型,貌似只能进行值传递,所以才有你的问题出现。
    可以创建一个类,就可以进行引用传递,如下示例

    public class Test10 {
        public static void main(String[] args) {
            INT a = new INT(1);
            INT b = new INT(2);
            exchange(a, b);
            System.out.println(a.value);
            System.out.println(b.value);
        }
    
        public static void exchange(INT a, INT b) {
            a.value = a.value + b.value;
            b.value = a.value + b.value;
        }
    
        static class INT{
            int value;
    
            public INT(int value) {
                this.value = value;
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?