如何传递一个调用二维数组作为参数的函数?

时间:2016-04-21 20:02:15

标签: java arrays netbeans

char board[][]=printBoard(board);
  printBoard(board);


 public char[][] printBoard (char [][] test){
    char[][] game = {

     {'_','1','2','3'}, 
     {'1','_', '_', '_'},
     {'2','_', '_', '_'},
     {'3','_', '_', '_'}
  };
  return game; 
}

嗨,我想知道如何调用printBoard函数? printBoard中没有任何内容以红色突出显示,所以我认为问题在于我没有正确调用它。感谢您的帮助。我正在尝试将电路板置于其自身的功能中,然后使用2d阵列变量板[] []调用它。我正在尝试制作一个tic tac toe游戏。当我运行它时,它不会打印板。

3 个答案:

答案 0 :(得分:1)

你根本不会调用任何print方法,只需分配一个数组。以下是如何执行此操作的示例:

char board[][] = {
     {'_','1','2','3'}, 
     {'1','_', '_', '_'},
     {'2','_', '_', '_'},
     {'3','_', '_', '_'}
};

for (int i = 0; i < board.length; i++) {
    for (int j = 0; j < board[0].length; j++) {
        System.out.print(board[i][j] + "\t");
    }
    System.out.println();
}

答案 1 :(得分:0)

你不能这样做:

char board[][]=printBoard(board);

声明一个对象并使用返回一个将自身作为参数的方法进行赋值......这是什么?

参数必须是一些不同的二维数组......

答案 2 :(得分:0)

你的“printBoard”方法并没有敏锐地打印出阵列,只是像Dici所说的那样对它进行了分析。要打印数组,我会使用double for循环。以下是一个例子。

public class Averagegrades 
{
    public static void main(String[] args){
    char board[][]= setBoard();
    printBoard(board);
}

public static char[][] setBoard (){
    char[][] test = {

            {'_','1','2','3'}, 
            {'1','_', '_', '_'},
            {'2','_', '_', '_'},
            {'3','_', '_', '_'}
    };
    return test; 
}

public static void printBoard(char[][] board){
    for(int i = 0; i < board.length; i++){
        for(int j = 0; j < board[i].length; j++){
            System.out.print(board[i][j] + " ");
        }
        System.out.println();
    }
}
}