2012-03-30 90 views
0

我正在尝试将单个字符串和2D数组输出到.txt文件中,并且遇到问题,这是我的项目的最后一部分。程序应该输出一行,逗号分隔,字符串,然后在下一行,在二维数组中输出双打,逗号分隔。我假设能够将这一切全部打印到.txt文件中,然后在Excel文件中打开该.txt文件来绘制信息。这里是我迄今为止,我知道有可能是更多的错误比我可能会看到:将字符串和2D数组写入.txt文件 - Java

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()); 
     } 
    } 
+1

你为什么从输出文件中读取数据?那是你的意思吗?你的代码是没有意义的 – ControlAltDel 2012-03-30 15:29:15

+0

我以为我也看到了,但认为我一定是有什么问题......! – davidfrancis 2012-03-30 15:29:51

+0

您不会写入该代码中的文件。 – assylias 2012-03-30 15:30:03

回答

1

看起来您正在输出文件上使用扫描仪。扫描仪通常用于读取输入文件。打开一个新的输出文件并将数组打印到该文件。

查找OutputStreamWriter的示例。有一个在这里: http://www.javapractices.com/topic/TopicAction.do?Id=42

建议:而不是使用18和5为您的循环,你可以使用数组维度的长度?

0

Scanner用于从文件/流中读取,而是要输出到文件中。使用其中一个Writer类(例如FileWriter,可能加上BufferedWriter)而不是