2013-04-09 48 views
-3

請考慮下面的代碼:我在寫一個歸併排序程序,我得到了以下錯誤的過程:

public class MergeSort { 




public static void main(String[] args) { 

      int[] A = new int[10]; 

       // Printing the Initial Arrays 
        System.out.println("Array Elements before Sorting are as follows:"); 

         for(int i = 0;i < A.length;i++){ 

         System.out.println(A[i] + " "); 
                 } 

         // Call the MergeSort Method here 


         // Printing Sorted Array here 

        System.out.println("Sorted Array are as follows:"); 

        //for(int j = 0;j < result.length;i++){ 

        //System.out.println(result[i] + " "); 
        //} 


    public static int[] merge_sort(int[] B){ 

     if(B.length <=1){ 

      return B; 

     } 

     int midpoint = B.length/2; 

     int[] left = new int[midpoint]; 

     int[] right; 

     if(B.length % 2 == 0){ 

      right = new int[midpoint]; 

     }else { 
      right = new int[midpoint+1]; 

       } 

     // An Extra Array to store the result 

     int[] result = new int[B.length]; 

     // Populating the array in the left array 

     for (int i = 0; i < midpoint; i++){ 

      left[i] = B[i]; 

     } 

     // Populating in the right array 
     int x = 0; 
     for (int j=midpoint;j<B.length;j++){ 

      right[x] = B[j]; 
      x++; 
     } 

     // Using recursion to divide the array in left and right again and again 

     left = merge_sort(left); 
     right = merge_sort(right); 


    }// END OF METHOD merge_sort 




}// END MAIN METHOD 




}// END OF CLASS MergeSort 

我越來越對在Eclipse以下行下面的錯誤:交叉符號表示 誤差點在Eclipse:

X公共靜態INT [] merge_sort(INT [] B){

錯誤表示:用於參數merge_sort非法改性劑;只有最後一次被允許。

X返回B;

錯誤說:void方法不能返回值。我已經定義方法返回類型爲 整數數組,然後爲什麼我得到這個錯誤?

X left = merge_sort(left); X right = merge_sort(right);

錯誤說:該方法歸併排序是不確定的類型歸併

+0

一半的問題,如果你有一個很好的縮進代碼都解決了! – JackSparrow 2013-04-09 07:41:30

+0

有什麼好的教程可以跟隨我可以學習縮進的地方嗎? – Adarsh 2013-04-09 07:51:52

回答

4

我覺得如果你修復你的代碼的縮進問題將是顯而易見的。您的merge_sort方法在main方法中聲明。

只需將}// END MAIN METHOD右括號移動到上面聲明merge_sort的行上,它應該可以正常編譯。

+0

謝謝你的codebox。 – Adarsh 2013-04-09 07:52:17

+0

沒問題 - 請考慮接受答案,如果我們幫助解決您的問題 – codebox 2013-04-09 07:53:38

1

你不能有內的另一個方法的方法!

您的merge_sort()方法在main方法裏面!

+0

哦,我的壞。愚蠢的錯誤。 – Adarsh 2013-04-09 07:41:21

相關問題