我正在使用数组和循环创建一个java程序来创建一个表,但是当打印这些值时,它们后跟" 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("");
}
答案 0 :(得分:2)
来自PrintStream#format()
的文档:
使用指定的格式字符串和参数将格式化字符串写入此输出流。
这意味着PrintStream#format()
会将值写入输出流,但您可以将其toString
表示形式添加到java.io.PrintStream@1909752
变量中,然后打印出row
变量输出到相同的输出流。
如果您希望将格式化结果附加到String
变量,则应使用String.format()
。