为了账号安全,请及时绑定邮箱和手机立即绑定

为什么最后输出没有成绩

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

    }

    }

    

}


正在回答

3 回答

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

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

http://img1.sycdn.imooc.com//57477a6b0001895805240502.jpg

0 回复 有任何疑惑可以回复我~
#1

龙鸣星星 提问者

非常感谢!
2016-05-29 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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;

    }

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么最后输出没有成绩

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信