写java程序如下:现要对华为和小米两种手机产品进 行入库,本案例要求编写一个 模拟商品入库的程序,可以在控制台输入入库商品的数量,最后打印出仓库中所有商品详细信息以及所有商品的总库存数和库存商品总金额。 商品信息如下:品牌型号 尺寸 价格 配置 库存 总价
时间: 2024-09-17 13:07:47 浏览: 53
在Java中,你可以创建一个抽象商品类`Product`作为基础,然后分别定义华为和小米手机的子类`HuaweiPhone`和`XiaomiPhone`,它们继承自`Product`并实现具体的属性和行为。下面是一个简单的例子:
```java
// 定义商品抽象类
abstract class Product {
String brand;
String model;
double size;
double price;
int stock;
public abstract void printInfo();
// 计算总价
double calculateTotal() {
return size * price;
}
}
// 华为手机子类
class HuaweiPhone extends Product {
HuaweiPhone(String brand, String model, double size, double price) {
this.brand = brand;
this.model = model;
this.size = size;
this.price = price;
this.stock = 0; // 初始化库存
}
@Override
void printInfo() {
System.out.println("品牌:" + brand + ", 型号:" + model +
", 尺寸:" + size + "寸, 价格:" + price +
", 库存:" + stock);
}
}
// 小米手机子类
class XiaomiPhone extends Product {
// 类型同上...
}
public class InventoryManager {
public static void main(String[] args) {
int totalStock = 0;
double totalPrice = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入入库商品数量:");
int quantity = scanner.nextInt();
for (int i = 0; i < quantity; i++) {
System.out.println("请输入第" + (i+1) + "件商品的品牌、型号:");
String inputBrand = scanner.next();
String inputModel = scanner.next();
if ("华为".equals(inputBrand)) {
HuaweiPhone huawei = new HuaweiPhone("华为", inputModel, ...); // 假设有获取尺寸和价格的函数
huawei.stock++;
totalStock++;
totalPrice += huawei.calculateTotal();
} else if ("小米".equals(inputBrand)) {
XiaomiPhone xiaomi = new XiaomiPhone("小米", inputModel, ...);
xiaomi.stock++;
totalStock++;
totalPrice += xiaomi.calculateTotal();
} else {
System.out.println("无效的品牌,跳过此商品。");
}
}
System.out.println("\n仓库中所有商品详细信息:");
for (Product product : getProductList()) {
product.printInfo();
}
System.out.println("\n总库存数:" + totalStock);
System.out.println("库存商品总金额:" + totalPrice);
}
// 获取当前所有的商品列表
private static List<Product> getProductList() {
// 实际应用中这里应该是从数据库或其他存储获取实际的商品列表
// 这里为了简化示例,直接返回空列表
return Collections.emptyList();
}
}
```
在这个例子中,用户会输入商品的数量和品牌,然后根据品牌创建对应的手机实例,并更新库存。`main`方法最后计算并打印总库存数和库存商品总金额。
阅读全文