返回的多个值的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

回到顶部