试图让奇数打印

时间:2016-02-27 00:03:38

标签: java if-statement data-structures

我有一个程序,要求用户输入正数。然后程序打印出用户输入,然后取出均衡并显示均匀。现在,当我尝试显示赔率时,它打印出偶数和奇数...我有if语句if(oddNum%2!= 0) //意思是如果甚至没有执行以下..似乎无法弄清楚我的错误。

            System.out.println("\n");
            System.out.println("Here is the new even array: ");
            for(j=0; j<i;j++)
            {
                if (oddNum[j]%2 == 0)//if odd num equals zero separate the evens
                {
                    System.out.println("evenNum1:"+evenNum);
                evenNum[evenIndex]=oddNum[j];//sorts the even numbers to the next array
                evenIndex++;

                }
            }

            if(evenIndex !=0)
            {
            for(j=0;j<evenIndex;j++)
            {
                if(evenNum[j]>0)
                {
                    System.out.println(evenNum[j]);
                }
            }

            }
            System.out.println("\n");
            System.out.println("Here is the new odd array: ");
            for(b=0;b<i;b++)
            {
                if(oddNum[b]%2!=0 )//if odd
                {

                    oddNum[oddIndex]=evenNum[b];//sorts the input numbers to the next array
                    oddIndex++;



                }
            }
            if(oddIndex!=0)
            {
                for(b=0;b<oddIndex;b++)
                {
                    if(oddNum[b]>0)
                    {
                        System.out.println(oddNum[b]);
                    }
                }
            }
     }

 }

1 个答案:

答案 0 :(得分:1)

在奇数if循环中你需要写oddNum [oddIndex] = oddNum [b]而不是oddNum [oddIndex] = evenNum [b]

if(oddNum[b]%2!=0 )//if odd
        {
            oddNum[oddIndex]=oddNum[b];//sorts the input numbers to the next array
            oddIndex++;
         }