我正在尝试将此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/