晚上在写程序的时候需要用到交换数据,所以我就主类里面写了一个swap,
但是在调用之后发现数据没有交换成功,可是在swap里面数据的确交换成功了呀,
不知道是什么原因,下面贴出代码:
public static void main(String[] args){
int a,b;
a = 4;
b = 5;
swap(a,b);
System.out.println(a+","+b);
}
public static void swap(int a, int b){
int temp = a;
a = b;
b = temp;
}
麻烦各位看看到底是什么问题啊,是因为java中的传递问题导致的吗?
public static void main(String[] args){
int a,b;
a = 4;
b = 5;
swap(a,b);
System.out.println(a+","+b);
}
光看上面这段代码,打印出的a,b当然还是原来的值,他们在这里是局部变量,值根本就没有变么,swap只是去调用了一下方法,对数据交换没有任何返回,必然得不到想要的结果。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。