2016-12-06 126 views
-2

我有一个任务,他们问我要重新安排从偶数数组奇数 这样的:重新排列阵列

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 

THANK YOU

+3

没有格式化你的代码 – manonthemat

+0

你是什么意思“我不能使用方法”?你不知道如何使用它们,或者你不允许将它们用于你的任务吗? –

+0

@DaveK。我的意思是我不能在数组中使用方法,或者我不得不使用方法来完成赋值。 – SOS

回答

1

问题是,当你将它们添加到你把它们放在同一个位置上的新的数组:我。使用一个单独的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 
+0

谢谢你的作品:) – SOS