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

这样为什么运行不了

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

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

     HelloWorld hello=new HelloWorld();

     hello.set(scores);

        

        

    }

    

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

    public void set(int []a)

    {

        

        int temp;

        for(int j=0;j<a.length;j++)

        {

            if(a[j]<0)

            a[j]=0;

        }

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

        {

            

            if (a[i]<a[i+1])

            {

            temp=a[i];

            a[i]=a[i+1];

            a[i+1]=temp;

            }

        }

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

        System.out.println(a[0]);

        System.out.println(a[1]);

        System.out.println(a[2]);

    }

    

    

    

    

    

    

    

    

}


正在回答

1 回答

当 i = a.length -1 的时候,a[i + 1] 也就是 a[a.length] 是没有值的,直接超出内存范围了所以报错。另外,你这个排序算法不对,你这个不是冒泡排序,你这个只是如果两个数比一下,小的放到前面,大的放到后面,冒泡排序是两层循环。

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

举报

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

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

进入课程

这样为什么运行不了

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