从原始数组创建特定参数的偶数和奇数数组

问题描述 投票:0回答:1

编写一个程序,将 15 个随机数接受到一维数组中。使用冒泡排序对数组进行排序。排序后,将所有偶数和奇数转移并存储到单独的数组中。显示未排序的原始数组以及已排序的偶数和奇数数组以及适当的消息

我一直在尝试创建偶数和奇数数组,但在打印时给出空值

import java.util.Scanner;
class Assignment10
{
    public static void main()
    {
        Scanner sc = new Scanner(System.in);
        int arr[] = new int[15];
        
        System.out.println("Enter 15 numbers");
        for(int i = 0; i<arr.length; i++)//intializing the main array
        {
            arr[i] = sc.nextInt();
        }

        int temp;
        for(int i = 0; i<arr.length; i++)
        {
            for(int j = 0; j<arr.length-1; j++)
            {
                if(arr[j] > arr[j+1])
                {
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }

            }
        }
        int counter = 0;

        for(int i = 0; i<arr.length; i++)
        {
            
                if(arr[i]%2 == 0)
                {
                    counter ++;
                }
        }
        
         int[] even = new int[15];
        int[] odd = new int[15];
        int evenCount = 0, oddCount = 0;
        
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 == 0) {
                even[evenCount++] = arr[i];
            } else {
                odd[oddCount++] = arr[i];
            }
        }
        System.out.println("Even array : ");

        for(int i = 0; i<even.length; i++)
        {
            System.out.print(even[i] + " ");
        }
        
        System.out.println("Odd array : ");
        for(int i = 0; i<even.length; i++)
        {
            System.out.println();
            System.out.print(odd[i] + " ");
        }
    }
}

我预料到了这一点: 原始数组:23 4 5 78 34 56 12 20 33 2 76 11 29 9 54 偶数数组:2 4 12 20 34 54 56 76 78 奇数数组:5 9 11 23 29 33

但是我在打印偶数和奇数数组时得到空值

输出: 输入15个数字 23 46 74 第523章 第673章 第254章 34 12 第345章 5755 第344章 33 5675 23242 3454 偶数数组: 12 34 46 74 254 344 3454 23242 0 0 0 0 0 0 0 奇数数组: 23 33 345 523 673 5675 5755 0 0 0 0 0 0 0 0

java bluej
1个回答
0
投票

改变

    for(int i = 0; i<even.length; i++)
    {
        System.out.print(even[i] + " ");
    }
    
    System.out.println("Odd array : ");
    for(int i = 0; i<even.length; i++)
    {
        System.out.println();
        System.out.print(odd[i] + " ");
    }

    for(int i = 0; i<evenCount; i++)
    {
        System.out.print(even[i] + " ");
    }
    
    System.out.println("Odd array : ");
    for(int i = 0; i<oddCount; i++)
    {
        System.out.println();
        System.out.print(odd[i] + " ");
    }
© www.soinside.com 2019 - 2024. All rights reserved.