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

为什么if条件里面为(scores[i]<100 && scores[i]>0)后面显示出来的成绩会把119也显示出来,谢谢大侠们!

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.rank(scores);
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    public void rank(int scores[]){
         Arrays.sort(scores);
         int sum=0;
         for(int i=scores.length-1;i>=0;i--){
             if(scores[i]<100 && scores[i]>0){
                 sum++;    
             }
             if (sum>2){
                 break;
             }
             System.out.println(scores[i]);
         }
    }   
}


正在回答

3 回答

你把System.out.println(scores[i]);放到for循环外面了,应该放到for循环里面


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

fly_will 提问者

非常感谢~~
2016-08-07 回复 有任何疑惑可以回复我~

你把System.out.println(scores[i])应该放到if(scores[i]<100 && scores[i]>0)里面

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

fly_will 提问者

谢谢~~
2016-08-19 回复 有任何疑惑可以回复我~

非常感谢~~

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

举报

0/150
提交
取消

为什么if条件里面为(scores[i]<100 && scores[i]>0)后面显示出来的成绩会把119也显示出来,谢谢大侠们!

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