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@1909752
的 toString
表示形式附加到您选择的 row
变量然后打印到相同的输出流。
如果您希望将格式化结果附加到 String
变量,您应该使用 String.format()
。
我正在开发一个 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@1909752
的 toString
表示形式附加到您选择的 row
变量然后打印到相同的输出流。
如果您希望将格式化结果附加到 String
变量,您应该使用 String.format()
。