为什么结果显示“考试成绩的前三名为:119”

来源:7-1 编程练习

不会上树的喵

2016-07-24 15:17

import java.util.Arrays;

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.top3(scores);

        

        

    }

    

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

    public void top3(int scores[]){

        Arrays.sort(scores);

        int num = 0;

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

         while(scores[i]>0&&scores[i]<100)

         {

            continue;

         }

         num++;

         if(num>3)

         {

             break;

         }

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

        }

      

    }   

}


写回答 关注

1回答

  • 莽哥
    2016-07-24 16:31:41
    已采纳

    while里的判定条件不对,你把有效成绩全部排了,你把while条件换成if(scores[i]>100||scores[i]<0)试试

    不会上树的喵

    奥,原来如此,谢谢了

    2016-07-24 16:33:05

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165550 学习 · 17586 问题

查看课程

相似问题