我正在开展一个学校项目,其目标是获取一个包含迷宫"#","的文本文件。 "," E"和" S"通过这个迷宫找到你的方式。在赋值中,它要求我获取文件并将每个行和列放入2D char数组中。
以下是文件外观的示例(" S"是我开始的地方" E"是我结束的地方):
##########
# S ######
## ####E##
## #### ##
# ##
##########
我考虑过使用一对循环来寻找迷宫的高度并将其添加到迷宫中#" y"零件。然后取每个增量的" x"并将其放入数组中以获取它的char值并读取第二个y来找到它们的#34;#"找到宽度。但是我到目前为止还没有正确实现它。你对如何解决这个问题有什么想法吗?到目前为止,我还没能在网上找到它。还要重申我需要char值,以便#34;#"," ",或" E"和" S"在我的2D字符数组中的正确x和y坐标中。
我也会提供我所拥有的代码,但这会被视为作弊,作为一名学生,我也想学习内容。所以只是思考,也许一些例子会很好。
答案 0 :(得分:1)
您可以将这些行读入字符串列表,然后一旦知道了数组的y维,就可以创建2d数组并用以下内容填充:
Char [] array = line.toCharArray();
答案 1 :(得分:1)
将文件内容读入字符串。使用x,y - >坐标的索引转换。访问此字符串的字符,就像2D数组中的字符一样。 See a solution to the problem "Using an array of Strings to create a 2D (map) array in Java"。
答案 2 :(得分:0)
我个人会做的是把它分成一块板,并有一个板对象。在board对象上有多个方形对象。把它想象成棋盘。
| |
__|__|__
| |
__|__|__
| |
| |
每个方形物体都有一个X,Y值表示它的位置,然后是方形的实际值(3,#,...等)
public class board {
ArrayList a<Square>;
}
public class Square {
int x;
int y;
String value;
}
然后你可以阅读你的文本文件并构建你的电路板。