26、定义长度为10的数组,给数组每一个元素赋值,值是1-20的随机数。要求不能重复。 接下来定义两个新数组,要求使用新数组1只装原数组中的奇数,要求新数组2只装原数组中的偶数。
package zixi;
import java.util.Arrays;
import java.util.Random;
public class Test26 {
public static void main(String[] args) {
int[] arr = new int[10];
Random r = new Random();
int index = 0 ;
int[] arr1 = new int[arr.length];
//5.定义循环反复获取随机数,如果index小于arr的长度则继续循环
while(index < arr.length) {
int num = r.nextInt(20)+1;
boolean falg = array(arr1,num);//调用方法判断这个数是否被获取过
if (falg) {
arr1[index] =num;
System.out.print(arr1[index]+"\t");
index++;
}
}
System.out.println();//换行
//调用方法,求奇数偶数的个数
int o = count(arr1);
int j = arr1.length-o;
int[] brr = new int[o];
int[] brr1 = new int[j];
//调用求偶数数组的方法
brr = newArray(arr1,brr);
System.out.println(Arrays.toString(brr));
//调用求奇数数组的方法
brr1 = newArray1(arr1,brr1);
System.out.println(Arrays.toString(brr1));
}
//用方法求出奇数数组
public static int[] newArray1(int[] arr1,int[] brr1){
int cb =0 ;
for (int i = 0; i <arr1.length ; i++) {
if (arr1[i] % 2 == 1) {
brr1[cb] = arr1[i];
cb++;
}
}
return brr1;
}
//用方法求出偶数数组
public static int[] newArray(int[] arr1,int[] brr){
int cb =0 ;
for (int i = 0; i <arr1.length ; i++) {
if (arr1[i] % 2 == 0) {
brr[cb] = arr1[i];
cb++;
}
}
return brr;
}
//定义方法求数组中奇数偶数的个数
public static int count(int[] arr1){
int countOu = 0 ;
for (int i = 0; i <arr1.length ; i++) {
if (arr1[i] % 2 == 0) {
countOu++;
}
}
return countOu;
}
//定义方法:判断arr1数组中是否存在num这个数字
public static boolean array(int[] arr1 , int num){
for (int i = 0; i <arr1.length ; i++) {
if (arr1[i] == num) {
return false;
}
}
return true;
}
}