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

代码通过了,但是运行结果不对,求大神指点迷津

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

        hello.scoresSort(scores,scores.length);

    }

    

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

    public void scoresSort(int[] scores,int num){

        int[] scoresCorrect=new int[num];

        Arrays.sort(scores);

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

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

                i--;

                continue;

            }else{

                scoresCorrect[j]=scores[i];

                i--;

            }

        }

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

        for(int i=scoresCorrect.length-1;i>=scoresCorrect.length-3;i--){

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

        }

    }

    

https://img1.sycdn.imooc.com//5c64d3890001a15004880184.jpg 这是我的错误的运行结果

https://img1.sycdn.imooc.com//5c64d38a0001b2cc04610181.jpg这是正确的结果


正在回答

3 回答

 public static void main(String[] args) {
         int[] scores={89,-23,64,91,119,52,73};
         HelloWorld hello=new HelloWorld();
         hello.scoresSort(scores,scores.length-2);
     }
    
     //定义方法完成成绩排序并输出前三名的功能
     public void scoresSort(int[] scores,int num){
       int[] scoresCorrect=new int[num];
         Arrays.sort(scores);
         int i=0,j=0;
       for(i=0;i<scores.length;i++){
             if(scores[i]>0 && scores[i]<100){
              scoresCorrect[j] = scores[i];
              j++; 
             }
        } System.out.println("输出前三名成绩:");
             for(j=scoresCorrect.length-1;j>=scoresCorrect.length-3;j--){
          System.out.println(scoresCorrect[j]);
         }
        }

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

public static void main(String[] args) {
         int[] scores={89,-23,64,91,119,52,73};
         HelloWorld hello=new HelloWorld();
         hello.scoresSort(scores,scores.length-2);
     }
    
     //定义方法完成成绩排序并输出前三名的功能
     public void scoresSort(int[] scores,int num){
       int[] scoresCorrect=new int[num];
         Arrays.sort(scores);
         int i=0,j=0;
        while(i<scores.length){
             if(scores[i]>0 && scores[i]<100){
              scoresCorrect[j] = scores[i];
              j++;
              i++; 
             }else{
              i++;
             }  
        } System.out.println("输出前三名成绩:");
             for(j=scoresCorrect.length-1;j>=scoresCorrect.length-3;j--){
          System.out.println(scoresCorrect[j]);
         }

       
         }

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

举报

0/150
提交
取消

代码通过了,但是运行结果不对,求大神指点迷津

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