如何打印Char的二维数组(JAVA)

时间:2018-11-11 23:16:41

标签: java arrays

我正在尝试打印出一个在阵列的每个位置都带有“-”的游戏板:但是,每次运行此代码时,我都会将其打印到控制台:

  

[[C @ 2a139a55。

有什么建议吗?

public class Game {

    public static void main(String[] args){

        char realBoard[][] = new char[7][7];

        for (int i=0;i<7;i++){
            for(int j=0;j<7;j++){
                realBoard[i][j]='-';
            }
        }
        System.out.print((realBoard));
    }
}

3 个答案:

答案 0 :(得分:2)

realBoard是一个数组,是一个对象,因此不能像这样打印它。您将需要再次遍历元素

for(char[] y: realBoard) {
    for(char x: realBoard) {
        System.out.print(x);
    }
    System.out.println();
}

答案 1 :(得分:0)

除非您需要在其他地方使用mark的数组数据,否则最好只在循环中使用print语句。

for(int i = 0; i < 7; i++) {
  for(int j = 0; j < 7; j++) {
    //Print for each row
    System.out.print("-");
  }
  //Move to next line
  System.out.print("\n");
}

答案 2 :(得分:0)

您不能像这样打印2D数组。要在一行中打印二维阵列,可以使用:

System.out.println(Arrays.deepToString(realBoard));

或多行:

for(char[] x: realBoard)
            System.out.println(Arrays.toString(x));

积分:Java - Best way to print 2D array?