package immoc;
import java.util.Arrays;
public class immoc3 {
public static void main(String[] args){
immoc3 hello=new immoc3();
int[] b={ 89 , -23 , 64 , 91 , 119 , 52 , 73};
int[] d=immoc3.aaa(b);
System.out.println("考试的前三名是"+d[0]+d[1]+d[2]);
}
public int[] aaa(int[] a)
{
int c=0;
for(int i=0;i<a.length;i++)
{
if(a[i]<0)
continue;
else
c++;
for(int j=0;j<a.length;j++)
{
if(a[i]<a[j])
{
int b=a[j];
a[i]=a[j];
}
}
return a;
}
}
}
要用冒泡排序。你这是求最大的数 而且 代码还错了。return a;应该放在倒数第二个大括号 上面;
package immoc;
import java.util.Arrays;
public class immoc3 {
public static void main(String[] args){
immoc3 hello=new immoc3();
int[] b={ 89 , -23 , 64 , 91 , 119 , 52 , 73};
int[] d=immoc3.aaa(b);
System.out.println("考试的前三名是"+d[0]+d[1]+d[2]);
}
public int[] aaa(int[] a){
int c=0;//这是什么意思?
for(int i=0;i<a.length;i++){
if(a[i]<0) continue;//这两行干什么用的?有必要与0比较吗
else c++;//这两行干什么用的?
for(int j=0;j<a.length;j++){
if(a[i]<a[j]){
int b=a[j];
a[i]=a[j];
}
}
return a;// 这是什么意思
}
}
}我把你的代码整理了一下,但是完全没看懂
所谓冒泡排序就是把最小的(最大的)移到最左边,每次内层循环次数少1次
int[] a = { 89, -23, 64, 91, 119, 52, 73 };
//int c = 0;
for (int i = 0; i < a.length; i++) { //主循环
//if(a[i]<0) continue; else c++;
for(int j=i;j<a.length;j++){ //副循环,j从i开始,i左边的排序已经排好,处理i下标右边
if (a[i] < a[j]) {
int b = a[j];
a[j] = a[i];
a[i] = b;
}
}
// return a;
}
for (int i : a) {
System.out.println(i);
}int []d=new immoc3().aaa(b); 这一行也错了 非静态调用静态的一种方法是这样;或者public static int[] aaa(){}