0

我有一个二维数组,我想将它导出到一个文本文件中。我的格式有问题。例如,我希望有这种格式:

  11 22 33 44
  22 33 44 33

但是这段代码会产生这种格式:[[11 22 33 44][22 33 44 33]]。我更喜欢 \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 是一个二维数组。

如果没有空格格式,代码可能看起来像这样,请注意,虽然这会给你一个

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 回答