矩阵3d作为2d参数

时间:2014-04-15 19:30:19

标签: java matrix

我已宣布以下内容:

  

int board [] [] [];

我有这个功能:

  

boolean compare(int [] [] board)

当我使用board [] [] [0]时,它是否成为2d矩阵,对吗?

如果我想通过我的矩阵板作为参数:

  

比较(板[] [] [0])

,正确的语法是什么?

3 个答案:

答案 0 :(得分:1)

3d数组可以看作是2d数组的简单数组

这很简单,请查看此示例以了解

public class HelloWorld{

 public static void main(String []args){
   int board[][][] = new int[10][10][10];       
   board[0][0][0] = 5;

   func(board[0]);      
 }

 private static void func (int [][] tab){

     System.out.println("value : " + tab[0][0]);
 }
}`

答案 1 :(得分:1)

您可以将电路板视为二维矩阵的数组,在这种情况下board[0]是单个二维矩阵,board[0][0]是一个数组,或者可能是一个矩阵的列,board[0][0][0]是矩阵的int或单个单元格。

board[][][0]是语法错误。

答案 2 :(得分:0)

试试这个:

int[][][] board;

boolean compare(int[][] board) {
    //implement me
    return false;
}

方法调用:

boolean result = compare(board[0]);

您可能需要另一种更灵活的解决方案:

boolean compare(int[][][] board, int index0, int index1, int index2) {
    //do check with fixed indices, ignore it if -1 passed - for example
}

如果您不想传递整个对象,您可以将其称为全局可用,但这不是一个好习惯。