-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 public static int[] merge_sort(int[] B){

エラー: パラメーター merge_sort の修飾子が不正です。final のみが許可されます。

X リターン B;

エラー: void メソッドは値を返すことができません。メソッドの戻り値の型を整数配列として既に定義しているのに、なぜこのエラーが発生するのですか?

X 左 = merge_sort(左); X right = merge_sort(right);

エラー: MergeSort 型のメソッド マージ ソートは定義されていません

4

2 に答える 2