java高手看看我的冒泡排序法哪里出错误了

来源:百度知道 编辑:UC知道 时间:2024/05/14 12:40:49
源程序:

class test
{
void doBubbleSort(int[] src)
{
int len=src.length;
for(int i=0;i<len;i++)
{
for(int j=i+1;j<len;j++)
{
int temp;
if(src[i]>src[j])
{
temp=src[j];
src[j]=src[i];
src[i]=temp;
}
}

}
}

public static void main(String [] args)
{
int a[]={3,2,1};
doBubbleSort(a);
}

}

错误提示:
C:\Documents and Settings\wangshuli\桌面\doBubbleSort.java:26: 无法从静态上下文中引用非静态 方法 doBubbleSort(int[])
doBubbleSort(a);

请问,错误提示什么意思,如何正确编写啊?

呵呵。。方法体没有错,是犯了个小错误,冒泡算法就是for-for-if结构。
异常提示信息很明了:引用出错。
因为main方法是static方法,所以其引用的其他方法或变量,得有static修饰。
在你的void doBubbleSort(int[] src)方法前加static修饰吧。

public static void doBubbleSort(int[] src){

}

静态方法不能包含非静态方法,可以使用类的实例

同意楼上

学习

呵呵,
静态方法不可以访问非静态的方法或变量,
有两个解决问题的方法。
在void doBubbleSort()方法前面加一个static修饰符;
或者在main()函数定义一个本类的实例 test t = new test();
然后t.doBubbleSort()调用方法。;