2016-12-06 221 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