题目:
复制数组int[] arr={1,2,3,4,5}; int[] arr1={6,7,8,9,10}; int[] arrcopy={1,2,3,9,10} 也有可能 {6,2,3,4,10}。
代码:
//复制数组:
package java02;
import java.util.Random;
public class copyArray {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = {6, 7, 8, 9, 10};
int[] arr3 = new int[arr1.length + arr2.length];
//将两个数组(arr1和arr2)拼接成一个新的数组(arr3):
for(int i = 0; i < arr1.length; i++) {
arr3[i] =arr1[i];
}
for(int i = 0; i < arr2.length; i++) {
arr3[arr1.length + i] = arr2[i];
}
//多打乱几次 arr3 数组:
for(int i = 0; i < arr3.length; i++) {
arr3 = disturbArray(arr3);
}
//得到需要复制的数组:
int[] arrCopy = new int[arr1.length];
for(int i = 0; i < arrCopy.length; i++) {
arrCopy[i] = arr3[i];
}
//打印复制出来的数组 arrCopy 元素:
System.out.print("{");
for(int i = 0; i < arrCopy.length - 1; i++) {
System.out.print(arrCopy[i] + ", ");
}
System.out.print(arrCopy[arrCopy.length - 1] + "}");
}
//定义一个方法用于打乱数组:
public static int[] disturbArray(int[] arr3) {
Random r = new Random();
int r1 = r.nextInt(arr3.length);
int r2 = r.nextInt(arr3.length);
int temp = arr3[r1];
arr3[r1] = arr3[r2];
arr3[r2] = temp;
return arr3;
}
}
运行结果: