我有这些食物:肉、奶酪、苹果 我已经为他们声明了列表:
List<String> foods = new ArrayList<>();
List<Integer> quantity = new ArrayList<>();
我在 foods
中存储他们的名字,在 quantity
中存储他们的数量。一种食物的最大数量是 7。例如,如果我们要添加 10 块肉,则必须像这样存储:
列表 | index 0 | 索引 1 |
---|---|---|
食物 | 肉 | 肉 |
数量 | 7 | 3 |
有没有办法做到这一点,或者有其他(或更简单的)技术吗?
答案 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