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

大神求指教 为什么输不出成绩

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

        

        

        

    }

    

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

    public void stuScore(int[] scores){

        Arrays.sort(scores);

        int count = 0;

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

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

                continue;

            }

            count++;

            if(count>3){

                break;

            }

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

            


正在回答

5 回答

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

             count++;

            if(count=>3){

                break;

            }

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

            }

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

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

                continue;

            }

这里很奇怪, ||代表的是并且,所以满足其中一个条件都会进入if里面,进入IF了,执行countinue命令,下面代码均不执行,跳出此次循环,进入下一次的FOR循环,怎么会有输出成绩呢?


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

我猜你没点运行

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

不对,你的for循环中,应该每次循环都会走continue; 

continue是中断循环的一种方式,当执行了continue,则当前循环结束,continue后面的代码不再执行,而是进入下一次循环,所以你的System.out.println(scores[i]);应该是从未被执行

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

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

                continue;

            }

这里逻辑有问题,除了那个-23,你其他的数字都会因为上面的逻辑判断进入下一循环

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

举报

0/150
提交
取消

大神求指教 为什么输不出成绩

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