这个java小程序没有在Eclipse中写程序时没有报错,一运行就报错。。 这到底是为什么?

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at ch1.Maopao.main(Maopao.java:8)

到底为啥?
public class Maopao {
public static void main(String[] args){
int arr[]={32,35,67,23,64,65,37};
for(int a=0;a<arr.length-1;a++){
for(int b=0;b<=arr.length;b++){
if(arr[a]>arr[b+1]){
int t=arr[b+1];
arr[b+1]=arr[b];
arr[b]=t;
}
}
}
for(int a=0;a<=arr.length;a++){
System.out.println(arr[a]);
}
}
}

第1个回答  2013-04-12
你这个是排序的语句循环内外层是依赖关系
public class Maopao {
public static void main(String[] args){
int arr[]={32,35,67,23,64,65,37};
for(int a=0;a<arr.length-1;a++){
for(int b=0;b<=arr.length-1-a;b++){ 这行写错了 现在应该行了
if(arr[a]>arr[b+1]){
int t=arr[b+1];
arr[b+1]=arr[b];
arr[b]=t;
}
}
}
for(int a=0;a<=arr.length;a++){
System.out.println(arr[a]);
}
}
}
第2个回答  2013-04-12
数组问题

数组取值时超出固有长度

代码多贴点 我帮你找追问

public class Maopao {
public static void main(String[] args){
int arr[]={32,35,67,23,64,65,37};
for(int a=0;a<arr.length-1;a++){

追答

for(int b=0;b<=arr.length-a-1;b++){

本回答被提问者采纳
第3个回答  2013-04-12
你这报的错误把??
相似回答