java.io.PrintStream 显示

java.io.PrintStream display

我正在开发一个 java 程序,它使用数组和循环来创建一个 table,但是当打印值时,它们后面跟着 "java.io.PrintStream@1909752" 一遍又一遍地重复一个数字次数

导致错误的代码块如下,更具体地说是 "row +=" 部分。任何有关如何在最后摆脱重复部分的帮助将不胜感激。

for ( int i = starting; i <= ending; i+= 1){
    row += System.out.format("%6d" + ": ", i);

    for ( int j = 0; j <= 11; j+=1){
        double answer = i*octaveArray[j];
        row += System.out.format("%.0f ", answer );
    }
    System.out.printf(row);
    System.out.println("");
}

来自 PrintStream#format() 的文档:

Writes a formatted string to this output stream using the specified format string and arguments.

这意味着 PrintStream#format() 会将值写入输出流,但是您随后将其看起来像 java.io.PrintStream@1909752toString 表示形式附加到您选择的 row 变量然后打印到相同的输出流。

如果您希望将格式化结果附加到 String 变量,您应该使用 String.format()