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

问题已解决

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        int[] scores = {89,-23,64,91,119,52,73};

        System.out.println("考试成绩的前三名为");

        HelloWorld hello = new HelloWorld();

        hello.export(scores);

        

    }

    

    //定义方法完成成绩排序并输出前三名的功能

    

    

    public void export(int [] scores){

        int count=0;

        Arrays.sort(scores);

        for(int i=scores.length-1;i>=0;i--){

            if(scores[i]<0 && scores[i]>100){

                continue;

}

             

             count=+1;

             if(count == 3){

             break;

            }

System.out.println(scores[i]);

        }

    }

}



提问者:只想敲个代码 2019-03-01 16:02

个回答

  • 北国丨江山
    2019-03-04 13:46:12

    错误有三处:

    1. if(scores[i]<0 && scores[i]>100) 逻辑运算错误,此处应该使用||运算,scores[i]<0 || scores[i]>100;

    2.  count=+1,这是什么操作,没这样的写法,可以count++, ++count, count += 1;

    3. if(count == 3)结束循环次数判断错误,第三名不能输出,应该为count > 3。

  • JadeXu07
    2019-03-01 22:18:55

    for(int i=scores.length-1,count=0;i>=0&&num<3;i--){

    if(scores[i]>100||scores[i]<0){

    continue;

    }else{

    count++;

    System.out.println(scores[i]);

    }

    }