如何在Java中使用for循环动态添加要列出的元素?

时间:2021-04-24 11:36:44

标签: java arrays list arraylist

我有这些食物:奶酪苹果 我已经为他们声明了列表:

List<String> foods = new ArrayList<>();
List<Integer> quantity = new ArrayList<>();

我在 foods 中存储他们的名字,在 quantity 中存储他们的数量。一种食物的最大数量是 7。例如,如果我们要添加 10 块肉,则必须像这样存储:

<头>
列表 index 0 索引 1
食物
数量 7 3

有没有办法做到这一点,或者有其他(或更简单的)技术吗?

1 个答案:

答案 0 :(得分:0)

创建一个对象来存储项目(餐点/苹果/奶酪)和数量,使用while循环遍历数量,并设置项目对象。

private static final int MAX_ALLOWED_QUANTITY = 7;

public static void main(String[] args)
{
    List<Order> orderList = new ArrayList<Order>();
    placeOrder(orderList, "meal", 10);
    
    for (Order orderObj : orderList)
        System.out.println("Item - "+orderObj.getItem()+", Quantity - "+orderObj.getQuantity());
}

private static void placeOrder(List<Order> orderList, String item, int quantity)
{
    while (quantity > 0)
    {
        Order orderObj = new Order();
        orderObj.setItem(item);

        if (quantity >= MAX_ALLOWED_QUANTITY)
            orderObj.setQuantity(MAX_ALLOWED_QUANTITY);
        else
            orderObj.setQuantity(quantity);

        orderList.add(orderObj);
        quantity = quantity - MAX_ALLOWED_QUANTITY;
    }
}

输出

Item - meal, Quantity - 7
Item - meal, Quantity - 3