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

为什么最后输出没有成绩

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

    }

    

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

    public void show(int []scores)

    {Arrays.sort(scores);

       int sum=0;

   

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

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

       continue;

    }sum++;

    if(sum>3){

      break;}

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

    }

    }

    

}


提问者:龙鸣星星 2016-05-26 22:27

个回答

  • 赵小里3409227
    2016-05-27 06:36:30
    已采纳

    按楼主的意思,将这行代码改一下就可以了

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

    http://img.mukewang.com/57477a6b0001895805240502.jpg

  • 慕函数9049899
    2016-05-28 15:21:54

    范围界定的时候 ,为了确保逻辑运算的顺序,要加()

  • _长野的天
    2016-05-26 23:33:51

    import java.util.Arrays;

    public class HelloWorld {

        //完成 main 方法

    public static void main(String[] args) {

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

        HelloWorld hello =new HelloWorld();    

        int[] real = hello.getArray(scores);    

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

            for (int i = 0; i < real.length; i++) {

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

    }

        }

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

        public int[] getArray(int[] scores){

        int[] count = new int[3];

            for(int i =0;i<scores.length;i++){

            //升序排列

            Arrays.sort(scores);

            }

            //倒序遍历

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

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

    continue;

    }else{

    count[j]=scores[i];

    j++;

    }

            if(j>2){

            break;

            }

            }

    return count;

        }

    }