Eclipse不允许我编写查找MiddleElement的方法

时间:2013-05-22 00:34:46

标签: java eclipse

我正在编写方法来从给定的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

}

提前感谢您的帮助。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

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

}// End of Method Bubblesort

结束方法,但事实并非如此。我在方法的开头和评论之间计算了4 {和3 }。 Java编译器不允许在方法中声明方法。

答案 2 :(得分: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;
    }

}