-2

我正在编写从给定的 3 个数字中查找中间元素的方法,但 eclipse 不允许我这样做。请帮帮我我该怎么办?代码如下:

public class MiddleElement {


    public static void main(String[] args) {

        int x = 5;
        int y = 1;
        int z = 4;

        int[] a = {x,y,z};

        int length = a.length;

        Bubblesort(a,length);

        System.out.println("Sorted Elements are:");
        for(int i=0;i<length;i++){

            System.out.print(a[i]);
        }

    }


    //Method to Bubble Sort the Elements

    public static void Bubblesort(int[] a , int len){

                int i,j,temp;

                    for (i = 0; i < len;i++){

                            for( j = 1; j < (len-1); j++){

                                if(a[j-1]>a[j]){
                                    temp = a[j-1];
                                    a[j-1] = a[j];
                                    a[j] = temp;

                                }
                            }
                    }// End of Method Bubblesort


    public static int findMiddle(int[] a){






    }

    }// End of Main Method

}

在此先感谢您的帮助。

4

3 回答 3

2

您在该Bubblesort方法中缺少一个右括号。没有它,编译器会抱怨public用于后续findMiddle方法的非法关键字修饰符。

public static void Bubblesort(int[] a , int len){

   int i,j,temp;
   for (i = 0; i < len;i++) {
      for( j = 1; j < (len-1); j++) {
       ...
      }
   }// End of Method Bubblesort
} <-- add this

findMiddle确保从该方法返回一个值。

另外:Java 命名约定表明方法以小写字母开头并使用 camelCase,例如bubbleSort.

于 2013-05-22T00:36:41.557 回答
2

看起来您需要一个右括号来结束您的Bubblesort方法。你声称这条线

}// End of Method Bubblesort

结束该方法,但它没有。我在方法开始和评论之间数了 4{和 3 }。Java 编译器不允许在方法中声明方法。

于 2013-05-22T00:36:52.057 回答
1

您尝试将其嵌套findMiddle(int[])在另一种方法中。更正后的代码如下:

public class MiddleElement {

    public static void main(String[] args) {

        int x = 5;
        int y = 1;
        int z = 4;

        int[] a = { x, y, z };

        int length = a.length;

        Bubblesort(a, length);

        System.out.println("Sorted Elements are:");
        for (int i = 0; i < length; i++) {

            System.out.print(a[i]);
        }

    }// End of Main Method

    // Method to Bubble Sort the Elements

    public static void Bubblesort(int[] a, int len) {

        int i, j, temp;

        for (i = 0; i < len; i++) {

            for (j = 1; j < (len - 1); j++) {

                if (a[j - 1] > a[j]) {
                    temp = a[j - 1];
                    a[j - 1] = a[j];
                    a[j] = temp;

                }
            }
        }

    }// End of Method Bubblesort

    public static int findMiddle(int[] a) {

        return 0;
    }

}
于 2013-05-22T00:39:10.987 回答