请帮忙找一下这里边的语法错误。希望大佬提些修改建议,谢谢

来源:7-1 编程练习

ARUKANA

2019-03-09 17:49

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

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

        HelloWorld hello=new HelloWorld();

        hello.Seiseki(scores);

    }

    

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

    public void Seiseki(int[] scores){

        int[] scores=new int[7];

        int max=scores[0];

        int second=scores[1];

        int third=scores[2];

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

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

                continue;

            }

            if(scores[i]>max){

                max=scores[i];

            }else if(scores[i]>second){

                second=scores[i];

            }else if(scores[i]>third){

                third=scores[i];

            }

        }

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

        System.out.println(max);

        System.out.println(second);

        System.out.println(third);

    }

}


写回答 关注

4回答

  • qq_慕标7152961
    2019-03-09 18:32:16
    已采纳

    有点问题,你看如果数组里的第三个数比第一个大,就会把第三个值赋给第一个而且比较过的数之后就用不到了,这时候你的第一个数值就被覆盖了,默认是第一个数值比第二个大,也比第三个大,但是实际情况并不是这样的,修改的话建议你可以用两层循环的冒泡排序,当然也可以用java特有的排序函数,嗯嗯,就这样。

  • 小弟有疑问
    2019-03-11 10:31:58

    其实编程要求提示那里已经说了,可以利用Arrays.sort(scores);进行排序,再倒序循环,就方便很多

  • Joker_Ye
    2019-03-09 18:29:16

    import java.util.*;

    public class HelloWorld {


        //完成 main 方法

        public static void main(String[] args) {

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

    HelloWorld hello=new HelloWorld();

    hello.print(scores);    

        }

        

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

        public static void print(int[] scores) {

    Arrays.sort(scores);

    int count=0;

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

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

    count++;

    if(count<3) {

    System.out.print(scores[i]+" ");

        }

    else if(count==3)

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

        }

        }

        }

        

    }

    这是我的代码你可以看看

    ARUKAN...

    谢谢,我明白了

    2019-03-10 10:34:16

    共 1 条回复 >

  • Joker_Ye
    2019-03-09 18:28:13

    scores你是自己传进去的为什么要重新开空间?这里已经错了

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

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

1165172 学习 · 17581 问题

查看课程

相似问题