Java 将数组的内容写入字符串

Java 将数组的内容写入字符串,java,arrays,string,Java,Arrays,String,我有一个二维字符数组board[row][col],它被设计用来模拟游戏板,用于Xs和Os的游戏。(作为参考,数组中的每个元素都是X、O或“”,表示该正方形中没有移动的空格。) 我试图逐行获取数组中所有字符的字符串。也就是说,第一行将打印为字符串,然后第二行将附加到该字符串,直到遍历所有行。最后,结果应该看起来像一系列符号,比如这个游戏板上的“XXOxOOX”: X X O X O O X 如何做到这一点?具有如下嵌套循环: for (int i = 0; i < board.l

我有一个二维字符数组
board[row][col]
,它被设计用来模拟游戏板,用于Xs和Os的游戏。(作为参考,数组中的每个元素都是X、O或“”,表示该正方形中没有移动的空格。)

我试图逐行获取数组中所有字符的字符串。也就是说,第一行将打印为字符串,然后第二行将附加到该字符串,直到遍历所有行。最后,结果应该看起来像一系列符号,比如这个游戏板上的“XXOxOOX”:

X X O
  X  
O O X

如何做到这一点?

具有如下嵌套循环:

for (int i = 0; i < board.length; i++)
{
    for (int j = 0; j < board[0].length; j++)
    {
        System.out.print(board[i][j] + " ");
    }
    System.out.println();
}
for(int i=0;i
第一个print语句将把一行中的所有字符加在一起,然后第二个循环之外的下一个print语句将追加一个换行符。

请尝试:

StringBuilder str = new StringBuilder();
for (int i = 0; i < 3; i++)
 for (int j = 0; j < 3; j++)
   str.append(board[i][j]);
StringBuilder str=new StringBuilder();
对于(int i=0;i<3;i++)
对于(int j=0;j<3;j++)
str.append(董事会[i][j]);
您可以找到有关(inti=0;iStringBuilder
的更多数据{
对于(int j=0;iSystem.out.print(“+board[i][j]);//您可以尝试以下方法:

char[][] board = {{'X', 'O', 'X'}, {0, 'O', 0}, {'X', 'O', 'X'}};

String s = "";
for (char[] row : board) {
    for (char c : row)
        s += c == 0 ? " " : c;
    s += "\n";
}

System.out.println(s);
输出:

XOX  
 O   
XOX
X O X 
  O   
X O X 

编辑:如果要将输出隔开,可以使用

for (char[] row : board) {
    for (char c : row)
        s += c == 0 ? "  " : c + " ";
    s += "\n";
}
输出:

XOX  
 O   
XOX
X O X 
  O   
X O X 
String[]board={{“X”、“X”、“O”}、{”、“X”、“”}、{“O”、“O”、“X”};
对于(int i=0;i
我认为更好的解决方案是这样的

        char [][] board = new char[][]{{'x','x','o',},{'x',},{'o','o','x',}};

        StringBuilder builder = new StringBuilder();

        for (char[] aBoard : board) 
            builder.append(String.valueOf(aBoard)).append(" ");

       System.out.println(builder.toString());
出去


@djechlin lol+1你快了3秒:我试着做嵌套for循环,但我发现很难把每个字符一个一个地放入字符串中。(我对这个有点陌生。)我是否从数组位置获取元素,并在将其添加到完整字符串之前将该字符转换为字符串?使用OP不需要换行符。输出应该是
XXO X OOX
,因此我们应该添加一个space@elyashiv我知道,这个解决方案更好,因为更快
xxo x oox