问答详情
源自:7-1 编程练习

帮我瞅瞅这个哪错了行么

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;

  }

 }

}


提问者:野猴子上山 2015-07-22 22:32

个回答

  • qq_南音雨阁_0
    2015-07-23 00:13:56
    已采纳

    要用冒泡排序。你这是求最大的数 而且 代码还错了。return a;应该放在倒数第二个大括号 上面;

  • 管理員
    2015-07-23 08:46:57

    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);
    }


  • qq_南音雨阁_0
    2015-07-23 00:17:55

    int []d=new immoc3().aaa(b);  这一行也错了 非静态调用静态的一种方法是这样;或者public static int[] aaa(){}