Java语言怎么实现判断一个数组的奇数和偶数的个数哪个多,并且将奇数和偶数分别复制到2个不同的数组

Java语言怎么实现判断一个数组的奇数和偶数的个数哪个多,并且将奇数和偶数分别复制到2个不同的数组,这个又怎么实现呢

public class OddEvenCountAndCopy {
    public static void main(String[] args) {
        int[] originalArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

        int oddCount = 0;
        int evenCount = 0;

        // 首先计算奇数和偶数的个数
        for (int num : originalArray) {
            if (num % 2 == 0) {
                evenCount++;
            } else {
                oddCount++;
            }
        }

        // 创建奇数和偶数数组
        int[] oddArray = new int[oddCount];
        int[] evenArray = new int[evenCount];

        int oddIndex = 0;
        int evenIndex = 0;

        // 复制奇数和偶数到各自的数组
        for (int num : originalArray) {
            if (num % 2 == 0) {
                evenArray[evenIndex++] = num;
            } else {
                oddArray[oddIndex++] = num;
            }
        }

        // 打印结果
        System.out.println("奇数个数:" + oddCount);
        System.out.println("偶数个数:" + evenCount);

        System.out.print("奇数数组:");
        for (int num : oddArray) {
            System.out.print(num + " ");
        }

        System.out.print("\n偶数数组:");
        for (int num : evenArray) {
            System.out.print(num + " ");
        }
    }
}

【以下回答由 GPT 生成】

解决方案

对于给定数组,我们可以遍历每个元素,并通过判断元素的奇偶性来计算奇数和偶数的个数。我们可以使用两个计数器分别记录奇数和偶数的个数,然后通过比较这两个计数器的值来判断哪个更多。接下来,我们可以创建两个新的数组,分别用来存储奇数和偶数。我们可以再次遍历给定数组,并在遍历过程中将奇数和偶数分别复制到对应的数组中。

以下是具体的代码实现:

public class OddEvenCounter {
    public static void main(String[] args) {
        int[] givenArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

        int oddCount = 0;
        int evenCount = 0;

        // 计算奇偶数的个数
        for (int i = 0; i < givenArray.length; i++) {
            if (givenArray[i] % 2 == 0) {
                evenCount++;
            } else {
                oddCount++;
            }
        }

        int[] oddArray = new int[oddCount];
        int[] evenArray = new int[evenCount];

        int oddIndex = 0;
        int evenIndex = 0;

        // 复制奇数和偶数到对应的数组中
        for (int i = 0; i < givenArray.length; i++) {
            if (givenArray[i] % 2 == 0) {
                evenArray[evenIndex] = givenArray[i];
                evenIndex++;
            } else {
                oddArray[oddIndex] = givenArray[i];
                oddIndex++;
            }
        }

        // 输出结果
        System.out.println("奇数个数:" + oddCount);
        System.out.println("偶数个数:" + evenCount);
        System.out.println("奇数数组:" + Arrays.toString(oddArray));
        System.out.println("偶数数组:" + Arrays.toString(evenArray));
    }
}

代码说明: 1. 首先,我们定义了一个给定数组 givenArray; 2. 然后,我们创建了两个变量 oddCountevenCount 来记录奇数和偶数的个数,初始值为0; 3. 接下来,我们使用一个循环遍历给定数组,并通过判断元素的奇偶性来递增对应的计数器变量; 4. 然后,我们使用得到的奇数和偶数个数来分别创建两个新的数组 oddArrayevenArray; 5. 接着,我们定义两个变量 oddIndexevenIndex 来记录当前遍历到的奇数和偶数的索引位置,初始值都为0; 6. 在另一个循环中,我们再次遍历给定数组,并通过判断元素的奇偶性将元素复制到对应的数组中,并同时增加对应的索引变量; 7. 最后,我们使用 Arrays.toString() 方法将奇数数组和偶数数组转换为字符串,并输出结果。

这样,我们就可以根据给定数组判断奇数和偶数的个数,并将其分别复制到两个不同的数组中。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^