运行前没报错,但是运行后错了?

public class HelloWorld {
    public static void main(String[] args)
    {
    	HelloWorld s = new HelloWorld();
    	int[] score = {89,-23,64,91,119,52,73};
    	s.paixu(score);
    	
    }
    public void paixu(int[] newscore)
    {
    	for(int i=0;i<newscore.length;i++)
    	{
    		if(newscore[i]>newscore[i+1])
    		{
    			newscore[i+1]=newscore[i];
    		}
    		System.out.print(newscore[i]+"\n");
    	}
    }
    
}


错过了年华
浏览 1430回答 3
3回答

huachun

你这个应该是想进行冒泡排序吧,但是你把大的值改变了位置小的值没地方放了啊,你可以试试定义一个变量去接受另一个小的值,在下一次比较的时候和新的值作比较

tom的猫

newscore[i+1] 数组越界

望远

if(newscore[i]>newscore[i+1])当i=length-1时,newscores[i+1]会产生数组下标越界异常.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java