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

请问哪里错了??/

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

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

     HelloWorld hello=new HelloWorld();   

        hello.print(score);

        

    }

    

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

    public void print(int scores[])

    {int a;

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

            if(scores[i]>scores[i-1]){

                a=scores[i];

                scores[i]=scores[i-1];

                scores[i-1]=a;

            }

        }

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

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

        }

    }

    

    

    


正在回答

2 回答

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        

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

        HelloWorld hw = new HelloWorld();

        hw.sort3(scores);

        for(int ii= 3; ii>0; ii--)

        {

            System.out.println(scores[scores.length-ii]);

        }

    }

    

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

    

    public void sort3(int[] scores)

    {

        Arrays.sort(scores);

    }


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

你这个也不是冒泡排序法啊, 而且还存在数组越界

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

            if(scores[i]>scores[i-1]){

                a=scores[i];

                scores[i]=scores[i-1];

                scores[i-1]=a;

就是这段

真正的冒泡排序是这样的

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

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

       if(scores[j]<scores[j+1]){

                a=scores[j];

                scores[j]=scores[j+1];

                scores[j+1]=a;

                }


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

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1162964    人
  • 解答问题       17550    个

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

进入课程

请问哪里错了??/

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