【发布时间】:2019-11-20 08:16:08
【问题描述】:
我想创建一个带有 StringBuilder 的迷宫,它必须具有特定的格式才能匹配特定的输出。我正在使用以下代码来执行此操作,但它会削减输出的第一行。 给定的示例是一个如下所示的单个字符串:
final String EXAMPLE01 = "############## ## ############ # # ## # # ##### ## # # # ## ### # # # ## # # # # #### # # # # ## # # #### ####### ## ##############";
这是格式化字符串的代码:
private void init(Maze z) {
/**
* initializes de.uniwue.gdp.labyrinth.Explorer
*/
maze = z; //set maze
pov = POV.SOUTH; //set default point of view to South
idx = maze.width() + 1; //set default index to (1,1) || starting index
str = new StringBuilder(); //init empty StringBuilder
for (int i = 0; i < maze.width() * maze.height(); ++i) {
if (str.length() != 0 && (str.length() % maze.width() == 0)){ //use modulo to find linebreaks
str.append("\n");
}
str.append('#'); //set all fields to not explored or wall
}
str.setCharAt(idx, ' '); //set starting field to explored
updateDirections(); //init numMarks & validDirections
}
输出如下所示:
但应该是这样的:
非常感谢您!
【问题讨论】:
标签: printing format stringbuilder modulo maze