有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    board是一个2D数组,换句话说,它是一个数组数组。比如说:

    int board[][] = new int[3][2]; // 3 rows, 2 columns
    

    表达式{{CD2>}从^ {}数组访问公共属性^ {CD3>},您应该考虑^ ^ }是数组,但其元素也是数组。

    board.length // 3 elements (3 rows)
    

    然后,您将遍历索引for (int i = 0; i < board.length; i++)i将取值范围从0board.length-1(因为<

    因此,在每次迭代中,您都要访问当前元素的长度:

    board[i] // element (an array, because `board` is an array of arrays)
    board[i].length // access to the length of that array, which will be 2
    

    最后,当您访问board[i][j]时,您访问的是board元素中的一个元素。换句话说,您正在访问数组的一个元素,而这个数组是2D数组board的一个元素

  2. # 2 楼答案

    您所引用的数据结构是一个包含引用的数组。在下图中,b[0]b[1]b[2]分别是对数组[A、B、C]、[D]和[E、F]的引用。因此,b.length = 3,因为它包含三个引用

    +   +      + -+ -+ -+
    |      |  -> | A | B | C | => b[0].length=3 (its elements are b[0][0]=A, b[0][1]=B, b[0][2]=C)
    | b[0] |      + -+ -+ -+
    |      |     
    +   +      + -+
    |      |  -> | D | => b[1].length=1 (its only element is b[1][0]=D)
    | b[1] |      + -+
    |      |
    +   +      + -+ -+
    |      |  -> | E | F | => b[2].length=2 (its elements are b[2][0]=E, b[2][1]=F)
    | b[2] |      + -+ -+
    |      |
    +   +
       => b.length = 3 (its elements are b[0]=[A,B,C], b[1]=[D,E], b[2]=[F])
    

    代码中的嵌套for循环将从左到右、从上到下访问图中的每个单元格。i的目的是迭代行,也就是说,指示必须访问b[0],然后是b[1],然后是b[2]j的目的是迭代一行中的单元格,也就是说,当i=0时,我们必须访问列0、1和2以查找A、B和c。当i=1时,j访问列0并查找D。最后,当i=2时,j访问列0和1以查找E和F