java的问题,望高手请教

来源:百度知道 编辑:UC知道 时间:2024/06/07 13:51:00
我写的程序,编译时通过了,但运行起来提示Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:4 attest.main(test.java:8)

代码如下(我本意是实现数组倒排序,后来把排序那句注释了,结果还是一样)

望各路英雄帮助小弟一下
class test
{
public static void main(String[] args)
{
int[] a={3,5,2,1};
//java.util.Arrays.sort(a);
for(int i=a.length;i>0;i--)
System.out.println(a[i]);
}
}

for(int i=a.length-1;i>=0;i--)

数组是从0开始
a.length是4
就没有a[4]了

2 楼正解

应把数组最大下标改为a.length-1,此外循环中的i应该是>=0;

2楼正解 就是数组越界了

数组越界了。应该改为:
for(int i=a.length-1;i>0;i--)