分析以下需求,并用代码实现
1.创建两个长度为5的数组,数组内元素为随机生成的、不重复的 1-100之间的偶数(每个数组内部的元素一定是不重复的1-100之间的偶数,但两个数组间可以有重复的)。
2.定义一个方法,传入两个数组,方法中将两个数组元素合并到一个新数组中,并且将新数组的内容打印到控制台上 。
3.程序运行结果(因为数字随机生成,这里只是举个例子:
原数组1:[78, 48, 20,94, 34]
原数组2:[32, 10, 98,4, 52]
合并后数组:[78, 48, 20, 94, 34, 32, 10, 98, 4, 52]
import java.util.Random;
public class Test3 {
public static void main(String[] args) {
int[] arr1 = new int[5];
int[] arr2 = new int[5];
//调用方法打印原数组
printArr(randArr(arr1));
printArr(randArr(arr2));
printArr(unionArr(arr1, arr2));
}
//漂亮的打印数组方法
public static void printArr(int[] arr) {
// 按要求打印数组
System.out.println("原数组1:");
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
// 判断是否是最后一个元素
if (i == arr.length - 1) {
System.out.println(arr[i] + "]");
} else {
System.out.print(arr[i] + ", ");
}
}
}
//获取随机偶数数组
public static int[] randArr(int[] arr) {
Random rad = new Random();
arr[0] = 2 * (rad.nextInt(50) + 1);
for (int i = 1; i < arr.length; i++) {
//获取随机数
arr[i] = 2 * (rad.nextInt(50) + 1);
//拿赋值元素与之前的所有元素对比是否相等
for (int j = 0; j < i; j++) {
// 如果重复就退回去
while (arr[i] == arr[j]) {
i--;
}
}
}
return arr;
}
//整合数组方法
public static int[] unionArr(int[] arr1, int[] arr2) {
int[] arr = new int[10];
for (int i = 0; i < 5; i++) {
arr[i] = arr1[i];
}
for (int i = 5; i < arr.length; i++) {
arr[i] = arr2[i - 5];
}
return arr;
}
}