java 实现商品入库,一开始入库5个,单价是5元,然后又入库10个单价是10元,用户申请的时候申请10个,如何先先申请单价为5元的5个,再申请单价为10元的5个
时间: 2024-02-27 14:57:45 浏览: 13
你可以使用一个数组来记录商品的单价和数量,然后按照单价从低到高排序。首先遍历数组,先将单价为5元的商品数量减去用户申请的5个,如果数量不足,则继续遍历单价为10元的商品,直到满足用户需求为止。
以下是示例代码:
```java
public class Goods {
private int[] prices = {5, 10};
private int[] quantities = {5, 10};
public void applyGoods(int num) {
int i = 0;
while (num > 0 && i < prices.length) {
if (num <= quantities[i]) {
System.out.println("申请" + num + "个单价为" + prices[i] + "元的商品");
quantities[i] -= num;
num = 0;
} else if (quantities[i] > 0) {
System.out.println("申请" + quantities[i] + "个单价为" + prices[i] + "元的商品");
num -= quantities[i];
quantities[i] = 0;
}
i++;
}
if (num > 0) {
System.out.println("商品库存不足,申请失败!");
}
}
public static void main(String[] args) {
Goods goods = new Goods();
goods.applyGoods(5);
goods.applyGoods(5);
}
}
```
输出结果:
```
申请5个单价为5元的商品
申请5个单价为10元的商品
```