我正在尝试将单个字符串和2D数组输出到.txt文件中并遇到问题,这是我项目的最后一部分。该程序应该输出一行,逗号分隔,字符串,然后在下一行,打印出2D数组中的双打,逗号分隔。我想能够将此全部打印到.txt文件,然后打开excel文件中的.txt文件来绘制信息图形。这是我到目前为止所知道的,可能会有比我看到的更多的错误:
public void writeFile(double[][] array, String filename)
{
try{
File f = new File("output.txt");
Scanner scan = new Scanner(f);
scan.useDelimiter("\\s*,\\s*");
String label = "Algoritm-1, Algorithm-2, Algorithm-3, "
+ "n, n-squared, n-cubed"; //Only one printing of this line
for (int i = 0; i <= 18; i++)
{
for (int j = 0; j <= 5; j++)
{
array[i][j] = scan.nextDouble(); //Having the current issue
}
scan.nextLine();
}
}
catch (FileNotFoundException fnf) {
System.out.println(fnf.getMessage());
}
}
答案 0 :(得分:1)
您的输出文件似乎正在使用扫描仪。扫描仪通常用于读取输入文件。打开一个新的输出文件并将该数组打印到该文件。
查找OutputStreamWriter的示例。这里有一个: http://www.javapractices.com/topic/TopicAction.do?Id=42
建议:您可以使用数组维度的长度而不是使用18和5作为循环吗?
答案 1 :(得分:0)
Scanner
用于从文件/流中读取,但您希望输出到该文件。使用其中一个Writer类(例如FileWriter
,可能与BufferedWriter
结合)代替