我已宣布以下内容:
int board [] [] [];
我有这个功能:
boolean compare(int [] [] board)
当我使用board [] [] [0]时,它是否成为2d矩阵,对吗?
如果我想通过我的矩阵板作为参数:
比较(板[] [] [0])
,正确的语法是什么?
答案 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
}
如果您不想传递整个对象,您可以将其称为全局可用,但这不是一个好习惯。