public class test1 {
    public static void main(String args[]){
        int myarr[][] = new int[][]{{1},{2,3},{4,5,6}};
        for(int i = 0;i < myarr.length;i++){
            for(int a=0;a<myarr[i].length;a++){
                System.out.print(myarr[i][a]);
            }
           System.out.println();
        }
      
    }
}弱弱的问一句这个二重数组最后的结果是
1    
2,3
4,5,6
数字是怎么拿到的
为什么[0][0]=1,[1][0]=2,[1][1]=3等等

解决方案 »

  1.   

    你应该查下二维数组的定义方法:你的问题我简要说下:int myarr[][] = new int[][]{{1},{2,3},{4,5,6}};
    你这样写赋值了三行数据。二维数组就形成了三行散列的坐标图。但是记得是0是开始起点
    因为数据的获取下标是从0开始的,所以
    第一行第一列[0][0]=1,第一行第二列[0][1]=0,第一行第三列[0][2]=0;
    第二行第一列[1][0]=2,第二行第二列[1][1]=3,第二行第三列[1][2]=0;
    第三行第一列[2][0]=3,第三行第二列[2][1]=4,第三行第三列[2][2]=5;明白就给分。呵呵
      

  2.   


    int myarr[][] = new int[][] { { 1 }, { 2, 3 }, { 4, 5, 6 } };

    for (int i = 0; i < myarr.length; i++) { System.out.println(Arrays.toString(myarr[i])); for (int a = 0; a < myarr[i].length; a++) {

    System.out.print(myarr[i][a]);

    } System.out.println();
    }就是数组的数组,数组的元素还是数组,从length是数组的属性就可以看出来,没有myarr[0][1]、myarr[0][2]、myarr[1][2]等0值。
      

  3.   

    int myarr[][] = new int[][]{{1},{2,3},{4,5,6}};{{1},{2,3},{4,5,6}};每个逗号隔开的就是一个行数组的所有值     0列 1列  2列
    0行 {1}           myarr[0][0]
    1行 (2,  3)       myarr[1][0] myarr[1][1]
    2行 {4,  5,  6}   myarr[2][0] myarr[2][1] myarr[2][2]
      

  4.   

    1楼说的很仔细,不过有点小小问题
    Java里数组就是数组,不是矩阵,所以
      

  5.   

    ....前文说到,不是矩阵,所以.....
    (不小心回车的时候按住shift键了,所以发了半个贴)
    所以第一行就是一个int[1]
    第二行就是一个int[2]
    也就是说第一行第一列[0][0]=1,<b>第一行第二列[0][1]=0,第一行第三列[0][2]=0;</b>
    第二行第一列[1][0]=2,第二行第二列[1][1]=3<b>,第二行第三列[1][2]=0;</b>
    第三行第一列[2][0]=3,第三行第二列[2][1]=4,第三行第三列[2][2]=5;被<b>。</b>抱起来的部分没有