返回的多个值的ArrayList
我有需要显示输入到系统中,我有现在的方法是什么投标历史的方法是:返回的多个值的ArrayList
@Override public String displayHistory() {
String bidder = toString();
if (this.bids.isEmpty()) {
return bidder + " = no bids";
}
for (int i = 0; i < this.bids.size(); i++) {
bidder = "\n" + this.bids.get(i).toString() + "\n";
}
return toString() + " = " + bidder;
}
toString
方法:(正确)
@Override public String toString() {
return this.productId + ": " + this.productName;
}
我需要做什么方法是在经过我的测试类的表单打印出来:
测试类代码:
assertEquals("1: teddy = \n"+"J***e bid £7.0\n"+"S***a bid £5.0\n",product1.displayHistory());
1:玩具= \ n Ĵ***Ë出价£7.00 \ n 小号***出价$ 5.00 \ n
但目前我的方法是印刷这样的:
1 :teddy = \ n J *** e bid£7.00 \ n blank \ n
但是,当我调试程序并检查数组列表时,第二个出价是在里面但是没有用for循环显示。
有没有办法让我可以改变这个循环,以便打印出列表中所有数组列表的值,而不仅仅是输入列表中的最后一个值?我假设它必须使用循环系统,但可能不是?任何帮助将不胜感激。
回答:
在你的循环:
for (int i = 0; i < this.bids.size(); i++) { bidder = "\n" + this.bids.get(i).toString() + "\n";
}
你每次分配当前的一个投标bidder
变量。相反,你应该添加像bidder += ...
,但是并列一个字符串是更好的哟StringBuilder.append()
以上是 返回的多个值的ArrayList 的全部内容, 来源链接: utcz.com/qa/258214.html