猿问

代码哪里有问题?

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

        

    }

    

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

    public void showTOP3(int scores[]){

        int count=0;

        Arrays.sort(scores);

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

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

                continue;

            }

            else{

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

                count++;

            }

            if(count>3)

            break;

        }

    }


}


光量子的泪
浏览 1152回答 3
3回答

chandou

1、首先注意你的编码规范,不知道是不是贴代码的没注意还是什么情况,有点混乱,良好的编码规范是十分重要的;2、如果单纯的解决你这段程序的BUG,只要把for循环中的i++,更改为i--即可,初始化i赋值为数组的长度-1,如果在i++,就会报数组下标越界的错误;3、只更改i--,最终也不会实现你想要的获取前三名的目的,这就得看你逻辑思考了,建议问题需要自己思考解决,跑下程序就很清晰了。

皮县豆福脑

首先上传代码的时候可以选择代码语言,然后发布出来就是有格式的代码;接下来说说你遇到的问题:问题有两点循环条件中应为i--        你使用Arrays类的sort( )方法对数组进行排序,默认按升序排列,由于要输出的是前三名成绩,所以从后往前遍历,即倒序遍历。    2.终止条件应为count==3        判断有效成绩的个数,如果有效成绩数等于3 ,则结束循环,只输出成绩的前三名。综上,正确的代码应该是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.showTOP3(scores);     }     // 定义方法完成成绩排序并输出前三名的功能     public void showTOP3(int scores[]) {         int count = 0;         Arrays.sort(scores);         for (int i = scores.length - 1; i >= 0; i++) {             //若进入循环不是有效的成绩时,跳过这个成绩             if (scores[i] < 0 || scores[i] > 100) {                 continue;             }             else {                 System.out.println(scores[i]);                 count++;             }             //累计输出的分数个数为3时,中止循环             if (count == 3)             break;         }     } }希望可以帮到你~

慕UI6269418

代码哪里都是问题!
随时随地看视频慕课网APP

相关分类

Java
我要回答