我理解当我们说某些东西等于另一个数组时,我们实际上是用新名称指向数组。如果我们想复制一个数组,我们需要逐个元素去,或者我们需要使用方法/ java包。
public class puzzle {
public static void main(String[] args) {
int [] x= {1,2,4,6};
double [] u= 3.0, 4.0, 5.0, 6.0,7.0};
double [] v = {2.0, 4.0, 5.0};
puzzle(u,v,x); //1
puzzle (v,u,x); //2
}
public static void puzzle(double [] first, double [] second, int [] third){
double [] temp;
temp=first;
temp[2]=42.0;
**second= first;**
second[0]= 2.34;
}
}
我们希望看到x,u,v的值在运行之后是什么(u,v,x) 并为(v,u,x)
第二个谜题v中的只有长度3,包含2.34,4.0,42.0。为什么它只有三个而不是六个(2.34,4.0,42.0,6.0,7.0)
这是否与阵列v只有三个长,因此固定大小为3并最终切断其他数字?
(我没有选择名字)
答案 0 :(得分:1)
要复制数组,您必须遍历array1
的每个元素并将其放入array2
:
int[] array1=new int[]{1,2,3,4,5};
int[] array2=new int[5];
for(int i=0;i<array2.length;i++){
array2[i]=array1[i];
}
要编辑数组,请将新值放在指定的索引处:
array1[2]=9;
答案 1 :(得分:1)
temp [2]和first [2]之间没有区别:temp和first引用相同的数组。
答案 2 :(得分:0)