2013-04-09 50 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

相关问题