Запись строки и 2D-массива в текстовый файл - Java - PullRequest
0 голосов
/ 30 марта 2012

Я пытаюсь вывести одну строку и двумерный массив в файл .txt и сталкиваюсь с проблемами, и это последняя часть моего проекта.Программа должна вывести одну строку, разделенную запятыми, String, а затем на следующей строке распечатать двойные числа в 2D-массиве, разделенные запятыми.Я полагаю, что я могу распечатать все это в файл .txt, а затем открыть этот файл .txt в файле Excel для отображения информации.Вот что я имею до сих пор, и я понимаю, что может быть больше ошибок, чем я вижу:

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

Ответы [ 2 ]

1 голос
/ 30 марта 2012

Похоже, вы используете сканер в выходном файле.Сканер обычно используется для чтения входных файлов.Откройте новый выходной файл и распечатайте массив в этот файл.

Найдите пример OutputStreamWriter.Здесь есть один: http://www.javapractices.com/topic/TopicAction.do?Id=42

Предложение: Вместо того чтобы использовать 18 и 5 для своих циклов, можете ли вы использовать длины измерений массива?

0 голосов
/ 30 марта 2012

Scanner используется для чтения из файла / потока, но вы хотите вывести в файл.Используйте вместо этого один из классов Writer (например, FileWriter, возможно, в сочетании с BufferedWriter)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...