程序如下:
public class ArrayPins{  static public void main(String args[])  {   boolean pins[][]=new boolean[4][];   for(int i=0;i<pins.length;i++)   pins[i]=new boolean[i+1];   for(int i=0;i<pins.length;i++)   {    for(int k=0;k<pins[i].length;k++)    System.out.println(pins[i][k]+"");    System.out.println("");
   
   }  }}
这个程序大致上都理解了,但是 这个段:for(int i=0;i<pins.length;i++)  pins[i]=new boolean[i+1]; 书上说是建立第二维,我还是似懂非懂的。求各位高手相助啊。菜鸟我在这里谢谢了O(∩_∩)O~

解决方案 »

  1.   

    {
    pins[0],
    pins[1]
    ...
    pins[n]
    }===>{
    boolean[x],
    boolean[y],
    ...
    boolean[z]
    }===>
    {
    {boolean, boolean, boolean},
    {boolean, boolean}
    ...
    {boolean, boolean, boolean, boolean}
    }
      

  2.   

    二维数组,外层四个,内层分别是1,2,3,4个
    { {false} ,{false,false},{false,false,false},{false,false,falsefalse}}
      

  3.   

    不难吧,LZ看看这个能明白不,都一样的:
    public class ArrayPins {    static public void main(String args[]) {        Object[] obj = new Object[4];
            // obj[0] = null;
            // obj[1] = null;
            // obj[2] = null;
            // obj[3] = null;        for (int i = 0; i < obj.length; i++) {
                obj[i] = new boolean[i + 1];
            }
            // obj[0] = new boolean[1];
            // obj[1] = new boolean[2];
            // obj[2] = new boolean[3];
            // obj[3] = new boolean[4];        for (int i = 0; i < obj.length; i++) {
                for (int k = 0; k < ((boolean[]) obj[i]).length; k++) {
                    System.out.println(((boolean[]) obj[i])[k] + "");
                }
                System.out.println("");
            }
        }
    }
      

  4.   

    补充:结果之所以为false,是因为boolean型初始化为false
      

  5.   

    这个程序大致上都理解了,但是这段:for(int i=0;i <pins.length;i++)  pins[i]=new boolean[i+1]; 书上说是建立第二维,我还是似懂非懂的。
      

  6.   

    public class ArrayPins {    static public void main(String args[]) {        boolean[][] pins = { new boolean[1], new boolean[2], new boolean[3], new boolean[4] };        for (int i = 0; i < pins.length; i++) {
                for (int k = 0; k < pins[i].length; k++) {
                    System.out.println(pins[i][k] + "");
                }
                System.out.println("");
            }
        }
    }
      

  7.   

    哦 明白了 pins[i]=new boolean[i+1] 的意思是逐行增加一个元素。对吗?
      

  8.   

    false
            false, false
            false, false, false
            false, false, false, false
    其实最终的结果就是这个
      

  9.   

    明白了 谢谢你们的帮忙啊。O(∩_∩)O~哎~~~~~~~Java~~~~~各位高手都是怎么学Java的啊,菜鸟真辛苦啊。能成为一个合格的程序员是不是还要学习数据结构和算法设计啊?而且先学数据结构再学习算法设计?
      

  10.   

    hehe,当然是先学数据结构了,不然怎么算