我正在编写方法来从给定的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
}
提前感谢您的帮助。
答案 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;
}
}