0

2D配列があり、それをテキストファイルにエクスポートしたいと思います。フォーマットに問題があります。たとえば、私はこのフォーマットを期待しています:

  11 22 33 44
  22 33 44 33

ただし、このコードは次の形式を生成します:[[11 22 33 44] [22 334433]]。行の2つの数字の間の距離として\tabを好みます。前もって感謝します。

PrintWriter pr = new PrintWriter("file");

for (int i=0; i<X.length ; i++){
pr.println(Arrays.deepToString(X));
}
pr.close();
4

1 に答える 1

0

私が提案するのは、空白を埋めるコードを使用して適切にフォーマットし、printWithFormat(String s) メソッドを呼び出すことです。deepToString を使用することも非常に不便です。仕様を見ると、配列の完全な表現が得られ、ファイルにどのように出力されるかが正確にわかります。ここで、X が 2 次元配列であると仮定します。

空白のフォーマットがないと、コードは次のようになります。

11 22 33 44
33 44 55 55

次のような異なる長さの数字では正しく見えません。

11 222 33 4
3 44 55 5

したがって、必要に応じて空白で埋める必要があるのはなぜですか

とにかく、空白のないコード:

for (int i=0; i<X.length ; i++){
  for(int j=0; j<X[0].length; j++){
    pr.print(X[i,j]);
    if(j<X[0]-1) pr.print(" "); //separate the numbers by spaces, no need to put a space at teh end
  }
  pr.println(""); //go to the next line
}

空白の書式設定が機能しない場合は、数え切れないほど行われており、オンラインで見つけることができると思います。

于 2013-03-21T01:28:28.400 に答える