我这哪里错了呀

来源:7-1 编程练习

qq_枉生_3

2018-07-19 09:55

import java.util.Araays;



public class HellWorld{

    

    //完成 main 方法

    public static void main(String[] args) {

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

        

        HellWorld hello=new HellWorld ();

        

        hello.top(scores);

    }

        

        

        public void top(int[] sco){

            

         Arrays.sort(sco);

        int nums=0;

        

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

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

                continue;

            }

            nums++;

            if(nums>3){

                break;

            }

        }

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

        }


写回答 关注

3回答

  • 张小布0
    2018-07-19 14:25:51
    已采纳
    System.out.println(sco[i]);
    最后一句放到for循环里面。就是向上移动一行
    for (int i = sco.length - 1; i >= 0; i--) {
        if (sco[i] < 0 || sco[i] > 100) {
            continue;
        }
        nums++;
        if (nums > 3) {
            break;
        }
        System.out.println(sco[i]);
    }

    qq_枉生_...

    非常感谢!

    2018-07-19 16:14:18

    共 1 条回复 >

  • 慕容9324470
    2018-07-19 12:02:48

    import java.util.Araays;



    public class HellWorld{

        

        //完成 main 方法

        public static void main(String[] args) {

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

            

            HellWorld hello=new HellWorld ();

            

            hello.top(scores);

        }

            

            

            public void top(int[] sco){

                

             Arrays.sort(sco);

            int nums=0;

            

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

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

                    continue;

                }

                nums++;

                if(nums>3){

                    break;

                }

          System.out.println(sco[i]   );   }

           

            }


  • qq_懵懂的岁月_0
    2018-07-19 11:20:12

    传参错了 Int[] scores.

    你要理解 你传进去的是你定义好的数组。

    劳元源

    乱回答什么呢。这么明显的错误你还给题主误导,这就是个作用域的问题,题主你的这句System.out.println(sco[i]);写在了for循环的外面,而这个i的作用域是for循环内,也就是说在for循环外i是没有定义的,你拿来用就会报一个找不到变量的错,我说的能理解吗

    2018-07-19 14:23:13

    共 2 条回复 >

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

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

1165172 学习 · 17581 问题

查看课程

相似问题