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

这样提交会提示系统忙,是运行不出来么

下面for循环哪里while改成if会输出5个成绩,但是用while提交上去会提示系统忙,,

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        HelloWorld hello = new HelloWorld(); 

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

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

        hello.up(scores);

        

        

        

    }

    

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

    

    public void up(int[] scores){

        Arrays.sort(scores);

        

        

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

            if(scores[i]>=0){

                while(scores[i]<=100){

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

                   j++;

                    

                }

            }

        }

        

        

        }


提问者:好好学好好看啊 2017-08-26 01:47

个回答

  • 你的夏夏天
    2017-08-26 15:51:40
    已采纳

    方法处应该这样改:

    public void up(int[] scores){

            Arrays.sort(scores);       

            for(int i=scores.length-1,j=0;i>=0&&j<3;i--){     //这里应该用&&,两个条件都必须符合

                if(scores[i]>=0&&scores[i]<=100){           //判断应该按正规的来,你这个if  while不好也不正规,感                                                                                

                       System.out.println(scores[i]);            //觉也不正确,就按if else来

                       j++;}

                else

                        continue;                                        //这个循环里面需要用到continue

                 }

     }