Java的初学者。 我是说int i传递给int n1,int j传递给int n2吗? 但是我的输出是 交换后,i为1,j为2 为什么我的变量不能交换? 编辑1:查看其他帖子后,有人说没有原始数据交换方法之类的东西吗?那我的教练为什么要创建这种交换方法,以免引起混乱?
int i = 1;
int j = 2;
swap(i,j);
System.out.println("After swapping,i is " +i + ", j is " + j);
}
public static void swap(int n1, int n2) {
int temp = n1; //temp =1
n1 = n2; //n1 = 2
n2= temp; //n2 = 1
答案 0 :(得分:0)
按值将变量传递给方法时,您不会影响值,可以将交换代码移至原始方法:
int i = 1;
int j = 2;
int temp = i;
i = j;
j = temp;
System.out.println("After swapping,i is " +i + ", j is " + j);
或在使用方法交换时使用several answers in this question