1
想要在逗号分隔的文本文件中打印矩阵,但此代码将打印出全部为零的矩阵,而不是文本文件中的矩阵。从逗号分隔的文本文件中读取数组
public int[][] readFromFile() throws FileNotFoundException {
Scanner in = new Scanner(new File("C:\\Users\\Aidan\\Documents\\NetBeansProjects\\matrix\\src\\matrix\\newfile"));
int[][] a = new int[9][9];
while (in.hasNext()) {
String word = in.next();
if (word.equals(",")) {
continue;
}
System.out.println(word);
int x = 0;
int y = 0;
//System.out.println(Integer.parseInt(word));
int s = Integer.parseInt(word);
a[x++][y++] = s;
}
return a;
}
我推荐使用像apache commons csv库这样的东西。为什么重新发明轮子? – user1875195
@ user1875195是完全正确的。我已经看到过多的手工构建的代码可以用于一个csv文件,并且会在下一个文件中失败。很少的应用程序严格遵守csv标准,所以你需要一个可以处理变化的解析器。大多数手工构建的解析器无法处理(一个,两个,三个)和(“一个,七个”,两个,三个),这两个都是有效的csv。 – christutty
为了解决您的问题,我们需要查看您要导入的csv文件和输出(特别是println(word)的输出) – christutty