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

求大神告知这套代码中的错误

import java.util.Arrays;

public class HelloWorld {

public static void main(String[] args) {

int[]scores= {89,-23,64,91,119,52,73};//定义一个数组保存成绩

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

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<3;i--){

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

               continue;

           num++;

           System.out.print(scores[i]+" ");

       }

   }

}

提问者:盖沧海 2017-11-29 11:47

个回答

  • qq_水寒_2
    2017-11-29 13:19:46
    已采纳

    你这个i的赋值是咋回事?数组八个数,初始的i值是7。你的条件是i<3的时候i--。所以就错了


  • Throb丶
    2017-12-25 17:03:08

    i>=0&&i<3这不矛盾了莫,后面是num<3就对了。

  • 荒mike
    2017-11-30 23:40:24

    i>=0&&i<3   这个的问题  i的条件判断

  • qq_温暖如翊_0
    2017-11-29 16:36:31

    continue,那边是不是少了大括号;。

  • qq_水寒_2
    2017-11-29 13:21:31

    相当于i一直没有自减