我正在尝试将此2d char数组转换为String。问题是,即使通过输入数组也无法输出100,000个字符。将2d char数组转换为字符串的正确方法是什么?

public String printMaze(char[][] maze) {
    String s= "";
    for(int i=0;i<maze.length;i++){
        for(int j=0; i<maze[i].length;j++){
            s= maze.toString();;
        }
    }
    return s;
}

最佳答案

您的内部循环有问题,我也看不到您实际上是在夸大2D字符数组中的字符串。这是内循环的问题:

for (int j=0; i < maze[i].length; j++) {
        //   ^^^^ this will always be true for certain values of i
        // it should be j < maze[i].length
    s= maze.toString();;
}


换句话说,取决于迷宫的边界,您的内部循环可能永远旋转。而是,尝试以下代码:

public String printMaze(char[][] maze) {
    String s = "";
    for (int i=0; i < maze.length; i++) {
        for (int j=0; j < maze[i].length; j++) {
            s += maze[i][j];
        }
        // uncomment next line if you want the maze to have rows
        // s += "\n";
    }
    return s.toString();
}


但是正如@ElliottFrisch所述,您可以返回Arrays.deepToString(maze)

关于java - 将2d char数组转换为String,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43578522/

10-12 13:36