Java:2维字符数组
在过去的几天里,我一直在尝试编写一个名为Sokoban的游戏。游戏的层次很简单。可以交换的txt文件。我已经读过了。txt文件,但在将其保存到二维字符数组时遇到问题,因为每一级的行数和列数不同。有人告诉我要利用charAt,但我该怎么做呢
Sokobanlevel格式(http://www.sokoban-online.de/help/sokoban/level-format.html)
希望你能帮助我。谢谢
String file = "...";
BufferedReader br = Files.newBufferedReader();
String line = null;
int rows = file.length;
int cols = file[0].length;
char[][] room = new char [rows][cols];
while ((line = br.readLine()) != null) {
System.out.println(room[rows][cols]);
}
# 1 楼答案
如果不知道文件中的行数,则需要先读取文件中的所有内容,以确定行数。如果使用
List<char[]>
存储每行的字符数组,这将是最简单的不过,您可以轻松编写与java 8中的一行程序功能相同的东西:
# 2 楼答案
可以初始化二维数组,以便每行具有不同的列数: