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]);
}
}}
}运行时

解决方案 »

  1.   

    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]访问它
      

  2.   

    数据越界楼上正解 <= 改成<
      

  3.   

    Vector v=new Vector ();
    v.add("t1");
    System.out.println(v.get(0));
      

  4.   

    length属性是数组的长度,就是数组里有多少个元素如int num[] = {0,1,2};这里num的length是3,但是数组角标是从0开始的,这个num最大角标是2所有你在遍历的时候
    for(int x = 0; x<num.length; x++)x<num.length,不能加等于号,因为没有角标3
      

  5.   

    索引越界了。标准的for循环:
    for(int i=0;i<xx.length;i++){
          //处理语句
    }
      

  6.   

    不能=length  不然就会数组越界啦
      

  7.   

    数组从0开始到最后一个的下表应该是a.length-1,如果是<=a.length那么并没有分配出那么大的空间,数组越界了。或者改成<=a.length-1.新人的一点儿见解大家一起进步哦