这个程序可以正确执行吗?

来源:7-1 编程练习

中天传播

2017-06-13 22:26

import java.util.Arrays;

import java.util.Scanner;


public class HelloWorld {

    

    public static void main(String[] args) {

        System.out.println("请输入考试成绩:");

 

       //定义一个数组,并从键盘输入数据。

       int[] scores;

        for (int i=1;i<=9;i++){

            Scanner input=new Scanner(System.in);

            int nums= input.nextInt();  

            scores[i] = nums;

        }


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

        HelloWorld topthree=new HelloWorld();    

        topthree.three(scores);

    }

    

    //百分试卷完成成绩排序并输出前三名的功能

    public void three(int[] scores){

        Arrays.sort(scores);

        int num=0;

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

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

                continue;   

            }            

            num++;

            if (num>3){

                break;

            }

        System.out.println("第"+num+"名是:"+scores[i]);   

        }

    }

}




写回答 关注

1回答

  • 慕婉清0689395
    2017-06-13 23:04:24

    import java.util.Arrays;

    import java.util.Scanner;


    public class HelloWorld {

        

        public static void main(String[] args) {

            

     

           //定义一个数组,并从键盘输入数据。

           int[] scores = new int[9];//这里你应该定义数组的长度不然会报错

            for (int i=1;i<=9;i++){

            System.out.println("请输入考试成绩:");//录入成绩的提示代码我们应该放在循环内,不然什么都没有不利于我们录入信息

                Scanner input=new Scanner(System.in);

                int nums= input.nextInt();  

                scores[i-1] = nums;//如果你要i从1开始,scores[i-1]这里就应该设为i-1因为数组下标从0开始

            }


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

            HelloWorld topthree=new HelloWorld();    

            topthree.three(scores);

        }

        

        //百分试卷完成成绩排序并输出前三名的功能

        public void three(int[] scores){

            Arrays.sort(scores);

            int num=0;

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

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

                    continue;   

                }            

                num++;

                if (num>3){

                    break;

                }

            System.out.println("第"+num+"名是:"+scores[i]);   

            }

        }

    }

    程序基本没什么问题,上面有我对你存在问题的说明和建议。

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题