2

簡単な質問ですが、ここで何が欠けているのかわかりません。1 行に 9 つの数値があり、合計 9 行のコンソール出力がある場合、その正確な出力を外部テキスト ファイルに書き込むにはどうすればよいでしょうか。テキスト ファイルでも同じように表示されます。

コンソールが次のようになっていると仮定します。

2 4 5 1 9 3 6 8 7 
9 7 6 2 5 8 4 1 3 
1 8 3 7 4 6 9 2 5 
8 5 2 3 1 9 7 4 6 
3 1 9 4 6 7 8 5 2 
7 6 4 5 8 2 3 9 1 
4 3 8 6 2 5 1 7 9 
5 9 7 8 3 1 2 6 4 
6 2 1 9 7 4 5 3 8

そして、そのコンソール出力は「myArray」という名前の配列変数に保存されます。それをテキストファイルに書き込んで、そのように(またはコンマで区切って)表示するにはどうすればよいですか

これまでのところ、私はこれを持っています:

File solutionFile = new File("output.txt");
FileOutputStream stream = new FileOutputStream(solutionFile);
PrintStream writeOut = new PrintStream(stream);
System.setOut(writeOut);

for (int rows = 0; rows < 9; rows++) {
  for (int columns = 0; columns < 9; columns++) {
    System.out.println(myArray[rows][columns] + " ");
  }
}

ファイルに書き込むとき、各数値はそれぞれの行に配置されます。可能な支援はありますか?ありがとうございました!

4

3 に答える 3

1

print ステートメントを aprintlnにしないでくださいprint

for (int rows = 0; rows < 9; rows++) {
  for (int columns = 0; columns < 9; columns++) {
    System.out.print(myArray[rows][columns] + " ");    //keep printing on the same line
  }
  System.out.println();    //go to the next line
}

他にできることは、I/O リダイレクトです。ターミナルまたはコマンド プロンプトからプログラムを実行する場合は、次のように入力できますjava MyProgram > outputFile.txt。は>、コンソール出力をリダイレクトして、outputFile.txt通常の出力先ではなく出力先に移動します。

于 2015-12-11T00:11:05.320 に答える
0

次のコードを使用します (println の代わりに、単に pring を使用し、2 番目の後に println() を呼び出します)

File solutionFile = new File("output.txt");
FileOutputStream stream = new FileOutputStream(solutionFile);
PrintStream writeOut = new PrintStream(stream);
System.setOut(writeOut);

for (int rows = 0; rows < 9; rows++) {
  for (int columns = 0; columns < 9; columns++) {
    System.out.print(myArray[rows][columns] + " ");
  }
  System.out.println();
}
于 2015-12-11T00:11:38.647 に答える