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

求大神指点一下这个“i”怎么错了,为什么只输出一个89


package come.CaiXiang;

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

    }

    

    


提问者:慕粉4146431 2016-11-21 23:06

个回答

  • jggf
    2016-12-09 01:06:43

    因为 你没有把这段代码放到for循环 里面 所以 才 报错了


  • Hello_68
    2016-11-22 01:10:08

    i的有效范围是在for循环里的,你把System.out.println(scores[i]); 放for循环里面就不报错了!


    另外,哥们,你上述代码最外层少写了一个“}”