当前位置:编程学习 > JAVA >>

新手数组

public class Shu {
public static void main(String [] args){
String a[][]={
{"文件","编辑","帮助"},
{"新建","打开文件","退出"},
{"撤销","剪贴"},
{"关于"}
};
for(int i=0;i<=a.length;i++){

for(int j=0;j<=a[i].length;j++){
System.out.println(a[i][j]);
}
}



}


}

运行时 --------------------编程问答-------------------- for(int i=0;i<=a.length;i++){

for(int j=0;j<=a[i].length;j++){
System.out.println(a[i][j]);
}
}

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

for(int j=0;j<a[i].length;j++){
System.out.println(a[i][j]);
}
}

数组下标是从0开始计算的,假如一个数组是a[5] 
那么只能通过a[0]到a[4]访问它
--------------------编程问答-------------------- 数据越界楼上正解 <= 改成< --------------------编程问答-------------------- --------------------编程问答-------------------- 请问vector 类怎么用 --------------------编程问答-------------------- Vector v=new Vector ();
v.add("t1");
System.out.println(v.get(0)); --------------------编程问答-------------------- 数组最有一个元素的索引是数组长度(元素数量) - 1,因为数组是从0开始计数 --------------------编程问答-------------------- length属性是数组的长度,就是数组里有多少个元素

如int num[] = {0,1,2};

这里num的length是3,但是数组角标是从0开始的,这个num最大角标是2

所有你在遍历的时候
for(int x = 0; x<num.length; x++)

x<num.length,不能加等于号,因为没有角标3 --------------------编程问答-------------------- 数组越界异常,一般都是数组的角标超出数组的长度,建议使用集合,方便更改 --------------------编程问答-------------------- 越界了,因为数组的索引是从0 开始的 --------------------编程问答-------------------- 错误提示很明显了 --------------------编程问答-------------------- 索引越界了。标准的for循环:
for(int i=0;i<xx.length;i++){
      //处理语句
} --------------------编程问答-------------------- 不能=length  不然就会数组越界啦 --------------------编程问答-------------------- 数组从0开始到最后一个的下表应该是a.length-1,如果是<=a.length那么并没有分配出那么大的空间,数组越界了。或者改成<=a.length-1.新人的一点儿见解大家一起进步哦
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,