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

求大佬看下是什么问题

import java.util.Arrays;

public class Test3 {

    //完成 main 方法

    public static void main(String[] args) {

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

        Test3 a=new Test3();

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

        a.show(scores);

    }

    

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

    public void show(int[] scores){

    int[] newScores = new int[5];

for(int i =0;i<scores.length;i++){

        int n=0;

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

            newScores[n]=scores[i];

                n++;

            }

        }

        Arrays.sort(newScores);

        for(int i=0;i<5;i++){

        int n=newScores[i];

        System.out.println(n);

        }

    }    

}

https://img1.mukewang.com/5b6d38d1000173d009510640.jpg

提问者:疯子lllll 2018-08-10 15:04

个回答

  • 超小咪
    2018-08-10 16:14:20
    已采纳


    for(int i =0;i<scores.length;i++){

            int n=0;                                      // 这里每次循环都会让n = 0即使你后面把n++,一到这里又会让n=0

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

                newScores[n]=scores[i];                    //这里每次都是让newScore[0]=scores[i]

                    n++;

                }

            }

    使用你新建的数组newScore里面的内容是{73,null,null,null,null}

  • 超小咪
    2018-08-10 16:18:58

    package Day09;

    import java.util.Arrays;

    public class day0904 {

    public static void main(String[] args) {

    int[] a = new int[5];

    a[0] = 73;

    System.out.println(Arrays.toString(a));        //输出为[73,0,0,0,0]

    }