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

编程练习中有一点小问题

http://img.mukewang.com/570f3b7a00010b8304420449.jpg

这个程序哪里有问题呢?

提示的是第一句“import”

第二个问题for循环中我的遍历方式有问题吗?


提问者:差不多先生1234 2016-04-14 14:42

个回答

  • 多维攻城狮
    2016-04-19 18:59:36
    已采纳

    import java.util.Arrays;

    public class HelloWorld {

      

        //完成 main 方法

        public static void main(String[] args) {

         HelloWorld hello=new HelloWorld();

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

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

          hello.showTop3(scores);  

         

        }

        

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

        public void showTop3(int[]scores){

            int num=0;

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

             Arrays.sort(scores);

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

                 continue;

             }

             num++;

             if(num>3){

                 break;

             }

            

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

             

            }

                

            }

           

           


            

        }


  • 多维攻城狮
    2016-04-19 19:20:07

    还有,你没用倒序来操作,当你用Arrays.sort(scores)对数组排序后为{-23,52,64,73,89,91,119}  //升序排列.再去掉不符合的之后为{52,64,73,89,91},前三名很明显是91,89,73,如果要它显示出来这种效果,必须倒着打印出来,即先打印91(数组第5列),再打印89(数组第4列),再打印73(数组第3列)。是不是循环条件i变化顺序为5、4、3……倒着来的

  • 忧伤的民工
    2016-04-14 16:58:21

    for(int i=scores.length-4; i<scores.length; i++){


    只有7个数

  • 忧伤的民工
    2016-04-14 15:36:17

    倒序!!!导包

  • 忧伤的民工
    2016-04-14 15:36:09

    倒序!!!