0

我正在尝试创建一个包含 0 到 25 之间的 100 个随机数的数组,按奇数和偶数对它们进行排序,并显示两个结果数组。(我不允许使用列表。)当我运行这段代码时,所发生的一切就是一遍又一遍,大部分都是 0。

public static void main (String [] args)
{
   int array[]= new int[100];

   for(int i=0;i<100;i++)
   { 
     double k=Math.random();
     k=k*25;
     k=Math.rint(k);
     array[i]=(int)k;

     splitrandoms(array);

   }
}
public static void splitrandoms(int array[])
{   
   int oddSize = 0; 
   int evenSize = 0; 
   for (int i = 0; i< array.length; i++) 
   {
      if (array[i] % 2 == 0) 
      {evenSize++;}
      else 
      {oddSize++;}
   }

   int oddArray[] = new int[oddSize];
   int evenArray[] = new int[evenSize];

   int even = 0;
   int odd = 0;

   for (int b = 0; b< 100; b++) 
   {
      if (array[b] % 2 == 0) 
      {evenArray[even++] = array[b];}
      else 
      {oddArray[odd++] = array[b];}
   }


   System.out.println("Evens:");
   for(int q = 0; q < evenSize; q++)
   {System.out.println(evenArray[q]);}

   System.out.println("Odds:");
   for(int f = 0; f < oddSize; f++)
   {System.out.println(oddArray[f]);}
}
4

2 回答 2

1

您在循环中使用splitrandoms(array);函数,您应该从 For Loop 中调用它。. .

于 2013-03-31T15:15:15.850 回答
0

问题是您正在从填充原始数组的循环中调用排序函数。将以下行移到循环外:

splitrandoms(array);
于 2013-03-31T15:12:00.347 回答