public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] a = {{1,2},{4,5,6}};
for(int i = 0;i<2;i++){
for(int j = 0;j<3;j++){
System.out.println(a[i][j]);
}
}
系统报数组越界,a[0][2]木有,小弟想请教如何能正常顺序输出数组中的元素。
先谢过各位大虾

解决方案 »

  1.   

    public class Test {
        public static void main(String[] args) {
            int[][] a = { { 1, 2 }, { 4, 5, 6 } };
            for (int i = 0; i < a.length; i++) {
                for (int j = 0; j < a[i].length; j++) {
                    System.out.println(a[i][j]);
                }
            }
        }
    }
      

  2.   

    public static void main(String[] args) {
          int[][] a = { { 1, 2 }, { 4, 5, 6 } };
          for( int[] b : a ) {
              for( int c : b) {
                  System.out.println(c);
              }
          } }
      

  3.   

    a[0][2]当然没有了。
    a[0][0]=1
    a[0][1]=2
    a[0][2]=nulla[1][0]=3
    a[1][1]=4
    a[1][2]=5
    a[1][2]有
    a[0][2]并没有、、、、
      

  4.   

    数组操作 不要 直接写   <>= 一个常量  要通过 length属性来得到长度  可以很大程度避免越界问题
      

  5.   

    Java支持不等长的二维数组
    在Java中二维数组就是有若干个一维数组组成的一维数组,所以每个一维数组之间的长度互相不受牵制!
      

  6.   

    public class Test {
        public static void main(String[] args) {
            int[][] a = { { 1, 2 }, { 4, 5, 6 } };
            for (int i = 0; i < a.length; i++) {
                for (int j = 0; j < a[i].length; j++) {
                    System.out.println(a[i][j]);
                }
            }
        }
    }
      

  7.   

    如8楼所说的更明白一点.支持一下8楼.加补充:在for循环中最好使用数组的数组的leng属性,以防数组越界.