Java 列表有问题
我有一个方法setTopping(stringtopping),它将字符串作为参数。将字符串添加到列表中,并根据字符串的内容设置值。例如意大利腊肠0.6,真菌0.5等 现在我有一个字符串列表。它可能包含1、2、3或4个字符串。我想依次向ChooseToping()方法添加第一个字符串,然后添加第二个字符串,如果有,再添加第三个字符串 然而,在添加3个浇头后,我得到了输出:Java 列表有问题,java,arraylist,Java,Arraylist,我有一个方法setTopping(stringtopping),它将字符串作为参数。将字符串添加到列表中,并根据字符串的内容设置值。例如意大利腊肠0.6,真菌0.5等 现在我有一个字符串列表。它可能包含1、2、3或4个字符串。我想依次向ChooseToping()方法添加第一个字符串,然后添加第二个字符串,如果有,再添加第三个字符串 然而,在添加3个浇头后,我得到了输出: [0.6] [salami] [0.6, 0.7] [salami, bacon] [0.6, 0.7,
[0.6]
[salami]
[0.6, 0.7]
[salami, bacon]
[0.6, 0.7, 0.5]
[salami, bacon, fungi]
当我期待的时候:
[0.6, 0.7, 0.5]
[salami, bacon, fungi]
迭代未知数量的字符串列表并将它们逐个添加到以字符串为参数的方法中的最佳方法是什么
非常感谢
编辑
print语句位于for循环中,这就是输出相乘的原因将这些打印移动到for之后:
for(int i = 0 ; i < toppings.size() ; i++){
t.setTopping( toppings.get(i) );
}
System.out.println( t.getCost() );
System.out.println( t.getTopping() );
System.out.println( b.getBase() );
for(inti=0;i
我认为这些getcost和getTapping将始终打印完整列表,但您希望在最后只打印一次。这是最好的方法。也许你的setTopping没有像你期望的那样实现。我已经在我的setTopping方法中进行了编辑,以防#欢迎使用堆栈溢出!我们真的很想帮助你,但我们需要更多的背景。你能提供包含这个for循环的完整方法吗?对不起,我自己计算出来的,我把print语句放在for循环中了。。因此,它将输出打印了2-3-4次。这是我在回答中写的,但我很高兴你自己解决了它:)