我有一个方法setTopping(String topping),它将String作为参数。将字符串添加到列表中,然后根据字符串是什么来设置值。例如萨拉米香肠0.6,真菌0.5等。

现在我有一个字符串列表。它可能包含1、2、3或4个字符串。我想依次将第一个字符串添加到choiceTopping()方法中,然后添加第二个字符串,然后如果有一个,则添加第三个字符串。

但是,在添加3个浇头后,我得到了输出:

  [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]


遍历列表中未知数量的String并将它们逐一添加到以Strings作为参数的方法中,最好的方法是什么?

非常感谢

编辑
打印语句在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() );


我认为这些getcost和gettopping总是会打印完整列表,但最后只想打印1次。

10-01 14:46