Java 如何将此文本文件添加到2d字符数组
我正在尝试添加一个如下所示的文本文件:Java 如何将此文本文件添加到2d字符数组,java,Java,我正在尝试添加一个如下所示的文本文件: X X X X X X X X X X X S C C C C C C C X X C C C X C X X C E X C X X X C X X C X X C C C C X X X C X X X X X C X X X C X X X X X C X C C C X X X C X C X X C C X X X C C C C C C C X X X X X X X C X X X 到目前为止,我有: private char[]
X X X X X X X X X X
X S C C C C C C C X
X C C C X C X X C E
X C X X X C X X C X
X C C C C X X X C X
X X X X C X X X C X
X X X X C X C C C X
X X C X C X X C C X
X X C C C C C C C X
X X X X X X C X X X
到目前为止,我有:
private char[][] maze = new char [100][100];
public void importMaze(String file){
BufferedReader br;
try {
br = new BufferedReader(new FileReader(file));
String line = br.readLine();
while (line != null){
int i = 0;
for(int x = 0; x < line.length(); x++){
maze[x][i] = line.charAt(x);
}
i++;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private char[]maze=new char[100][100];
public void importMaze(字符串文件){
缓冲剂;
试一试{
br=新的BufferedReader(新的文件读取器(文件));
String line=br.readLine();
while(行!=null){
int i=0;
对于(int x=0;x
但它就是不起作用。有人能帮我储存这个吗?一些东西
我建议从使用line.charAt(x)
改为使用splits函数
String[] split = line.split(" ");
for (int x = 0; x < split.length; x++){
maze[i][x] = split[x];
}
你从未在while循环中更新过你的行。。。错误就在这里
String line = br.readLine(); // <-- This reads one line
while (line != null)
试试这个。对不起,我还没有测试过
ArrayList<String[]> tmp = new ArrayList<String[]>();
String line;
while ((line = br.readLine()) != null) {
tmp.add(line.split(" ");
}
String[][] maze = tmp.toArray(new String[tmp.length()][]);
ArrayList tmp=new ArrayList();
弦线;
而((line=br.readLine())!=null){
tmp.add(第行拆分(“”);
}
字符串[][]maze=tmp.toArray(新字符串[tmp.length()][]);
你需要更具描述性。“它只是不起作用”不会给你带来太多帮助。如果它有帮助,我认为maze[x][I]=line.charAt(x);
应该是maze[I][x]=line.charAt(x);
“但它就是不起作用。”试着描述a)你预期会发生什么b)实际发生了什么,对于实用工具c)您为什么期望(a)发生。while循环退出时,line
将如何变为null
?@gpojd除了它不终止这一事实之外,还有什么其他描述方式?如果它不工作它不工作,我可能会列出一个错误,如果我one@user3037916,我会明确声明它没有终止。
String line = null;
while ((line = br.readLine()) != null)
ArrayList<String[]> tmp = new ArrayList<String[]>();
String line;
while ((line = br.readLine()) != null) {
tmp.add(line.split(" ");
}
String[][] maze = tmp.toArray(new String[tmp.length()][]);