[英]How do I read a text file into a 2D char array?
我正在一个学校项目上,目标是获取一个包含迷宫字符“#”,“”,“ E”和“ S”的文本文件,并找到通过该迷宫的方法。 在作业中,要求我获取文件并将每一行和每一列放入2D char数组中。
这是文件外观的示例(“ S”是我开始的位置,“ E”是我结束的位置):
##########
# S ######
## ####E##
## #### ##
# ##
##########
我考虑过使用一对while循环来查找迷宫的高度并将其添加到“ y”分量中。 然后将“ x”的每个增量取其char值放入数组中,并读取第二个y来找到两个“#”以找到宽度。 但是到目前为止,我还没有正确实现它。 您对如何解决此问题有任何想法吗? 到目前为止,我还无法在线找到它。 还要重申一下,我需要char值,以便在我的2D char数组中正确的x和y坐标中使用“#”,“”或“ E”和“ S”。
我还将提供我所拥有的代码,但我认为这是作弊的,作为学生,我也想学习其内容。 因此,仅凭想法和一些示例就可以了。
您可以将这些行读入字符串列表中,然后一旦知道了数组的y维,就可以创建2d数组并使用以下命令填充它:
Char [] array = line.toCharArray();
将文件内容读入字符串。 使用x,y->索引转换作为坐标。 就像在2D数组中的字符一样访问此字符串的字符。 请参阅“使用字符串数组在Java中创建2D(映射)数组”问题的解决方案 。
就我个人而言,我要做的是将其分成一个板,并有一个板对象。 板上的对象有多个正方形对象。 将其视为棋盘。
| |
__|__|__
| |
__|__|__
| |
| |
每个正方形对象都有一个X,Y值来表示其位置,然后是正方形的实际值(3,#等)
public class board {
ArrayList a<Square>;
}
public class Square {
int x;
int y;
String value;
}
然后,您可以阅读文本文件并构建板。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.