重新排列数组

时间:2016-12-06 19:41:59

标签: java arrays for-loop

我有一项任务,他们让我重新安排从偶数到奇数的数组 像这样:

    Sample Output:
    Please enter array of 5 integers: 
    1 2 5 6 4
    the array after re-arranging:
    2 6 4 1 5

我无法做到"我不能使用方法"谁能帮我 ? 这是我的代码:

 public static void evenOdd(int[] arr){
     int i=0;
     int arr1[] = new int[5];
     for (i=0;i<5;i++)
     { 
         if (arr[i]%2==0)
             arr1[i]=arr[i];
     }
     for (i=0;i<5;i++){
          if(arr[i]%2!=0)
              arr1[i]=arr[i];
     }//end for
     for(i=0;i<5;i++)
     System.out.print(arr1[i]+" ");
     System.out.println("");
}//end method 

谢谢你

1 个答案:

答案 0 :(得分:1)

问题是当你将它们添加到新数组中时,你将它们放在相同的位置:i。使用单独的int来计算您所在索引的哪个部分。

public static void evenOdd(int[] arr){
    int i=0;
    int count = 0;
    int arr1[] = new int[5];
    for (i=0;i<5;i++) { 
        if (arr[i]%2==0) {
            arr1[count]=arr[i];
            count++;
        }
    }
    for (i=0;i<5;i++){
        if(arr[i]%2!=0) {
            arr1[count]=arr[i];
            count++;
        }
    }//end for
    for(i=0; i < 5; i++) {
        System.out.print(arr1[i]+"\n");
    }
}//end method