下面的代码打印出15 15,但我希望它打印出12 15。修复方法似乎正在更新 a1,使其包含 3,7,5,而不是 3,4,5。有谁知道为什么会这样吗?
class PassA
{
public static void main(String [] args)
{
PassA p = new PassA();
p.start();
}
void start()
{
long [] a1 = {3,4,5};
long [] a2 = fix(a1);
System.out.print(a1[0] + a1[1] + a1[2] + " ");
System.out.println(a2[0] + a2[1] + a2[2]);
}
long [] fix(long [] a3)
{
a3[1] = 7;
return a3;
}
}
最佳答案
看看下面
long[] fix(long[] a3) { // a3=a1 and a1= {3,4,5}
a3[1] = 7; // a3[1]=7 means a1[1] will become 7(a1[1]=7), now a1={3,7,5}
return a3;// return a1
}
关于JAVA 赋值和运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065153/