请问哪里错了

来源:7-1 编程练习

weixin_慕村3175826

2018-11-15 22:47

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.showTop3(scores);
       
       
    }
   
    //定义方法完成成绩排序并输出前三名的功能
    public void showTop3(int[] scores){
        Arrays.sort(scores);
        int num=0;
        for(int i=scores.length-1;i>=0;i--){
            if(scores[i]<0||scores[i]>100){
                continue;
            }
            num++;
            if(num<3){
                break;
            }
        }
        System.out.println(scores[i]);
    }
   
   
   
   
   
   
   
   
   
}


写回答 关注

2回答

  • 慕慕232470
    2018-11-15 23:31:22

    public void showTop3(int[] scores){
            Arrays.sort(scores);
            int num=0;
            for(int i=scores.length-1;i>=0;i--){
                if(scores[i]<0||scores[i]>100){
                    continue;
                }

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

                num++;
                if(num<3){
                    break;
                }
            }
            //System.out.println(scores[i]);    

    }

    输出的位置放错了,i在循环外并没有定义。

  • 慕丝5155251
    2018-11-15 23:30:47

      if(num<3){  这里错了,应该是num>3

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

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

1165610 学习 · 17587 问题

查看课程

相似问题