3185511 2024-04-23 11:34 采纳率: 100%
浏览 6
已结题

商品信息管理系统的实现,如下

img

img


商品信息管理系统的实现,如图
商品信息管理系统的实现,如图
商品信息管理系统的实现,如图

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-23 11:34
    关注

    引自免费微信小程序:皆我百晓生

    为了实现这个商品信息管理系统,我们将按照所给的要求逐步创建类和方法。首先,我们从Goods类开始,接着是CultureStore类,最后编写测试用例确保所有的功能都能正常工作。

    步骤1:创建 Goods 类

    import java.util.Date;
    
    public class Goods {
        private String goodsCode;
        private String productName;
        private String supplier;
        private double sellingPrice;
        private long stockQuantity;
    
        public Goods(String goodsCode, String productName, String supplier, double sellingPrice, long stockQuantity) {
            this.goodsCode = goodsCode;
            this.productName = productName;
            this.supplier = supplier;
            this.sellingPrice = sellingPrice;
            this.stockQuantity = stockQuantity;
        }
    
        // Getters and Setters
        public String getGoodsCode() { return goodsCode; }
        public void setGoodsCode(String goodsCode) { this.goodsCode = goodsCode; }
        public String getProductName() { return productName; }
        public void setProductName(String productName) { this.productName = productName; }
        public String getSupplier() { return supplier; }
        public void setSupplier(String supplier) { this.supplier = supplier; }
        public double getSellingPrice() { return sellingPrice; }
        public void setSellingPrice(double sellingPrice) { this.sellingPrice = sellingPrice; }
        public long getStockQuantity() { return stockQuantity; }
        public void setStockQuantity(long stockQuantity) { this.stockQuantity = stockQuantity; }
    
        // Print method
        public void print() {
            System.out.println(" Goods Code: " + goodsCode);
            System.out.println(" Product Name: " + productName);
            System.out.println(" Supplier: " + supplier);
            System.out.println(" Selling Price: " + sellingPrice);
            System.out.println(" Stock Quantity: " + stockQuantity);
        }
    }
    

    步骤2:创建 CultureStore 类

    import java.text.DecimalFormat;
    import java.util.ArrayList;
    import java.util.List;
    
    public class CultureStore {
        private List<Goods> goodsList;
    
        public CultureStore() {
            this.goodsList = new ArrayList<>();
        }
    
        // AddGood method
        public void addGood(Goods goods) {
            goodsList.add(goods);
        }
    
        // DelGood method
        public boolean delGood(String goodsCode) {
            for (int i = 0; i < goodsList.size(); i++) {
                if (goodsList.get(i).getGoodsCode().equals(goodsCode)) {
                    goodsList.remove(i);
                    return true;
                }
            }
            return false;
        }
    
        // UpdGood method
        public boolean updGood(String oldGoodsCode, Goods newGoods) {
            for (int i = 0; i < goodsList.size(); i++) {
                if (goodsList.get(i).getGoodsCode().equals(oldGoodsCode)) {
                    goodsList.set(i, newGoods);
                    return true;
                }
            }
            return false;
        }
    
        // QueryGood method
        public Goods queryGood(String goodsCode) {
            for (Goods goods : goodsList) {
                if (goods.getGoodsCode().equals(goodsCode)) {
                    return goods;
                }
            }
            return null;
        }
    
        // SaleGood method
        public double saleGood(String goodsCode, int quantity) {
            Goods goods = queryGood(goodsCode);
            if (goods != null && quantity > 0 && quantity <= goods.getStockQuantity()) {
                goods.setStockQuantity(goods.getStockQuantity() - quantity);
                return goods.getSellingPrice() * quantity;
            } else {
                System.out.println("Invalid quantity or out of stock");
                return 0;
            }
        }
    
        // StatGood method
        public long totalQuantity() {
            long sum = 0;
            for (Goods goods : goodsList) {
                sum += goods.getStockQuantity();
            }
            return sum;
        }
    
        public double totalValue() {
            double sum = 0;
            for (Goods goods : goodsList) {
                sum += goods.getSellingPrice() * goods.getStockQuantity();
            }
            return sum;
        }
    
        public long countByCodes(List<String> codes) {
            long count = 0;
            for (String code : codes) {
                for (Goods goods : goodsList) {
                    if (goods.getGoodsCode().equals(code)) {
                        count++;
                    }
                }
            }
            return count;
        }
    
        public double valueByCodes(List<String> codes) {
            double sum = 0;
            for (String code : codes) {
                for (Goods goods : goodsList) {
                    if (goods.getGoodsCode().equals(code)) {
                        sum += goods.getSellingPrice() * goods.getStockQuantity();
                    }
                }
            }
            return sum;
        }
    
        // Print method
        public void print() {
            for (Goods goods : goodsList) {
                goods.print();
            }
        }
    }
    

    步骤3:测试用例

    public class Main {
        public static void main(String[] args) {
            CultureStore store = new CultureStore();
    
            // Adding goods
            store.addGood(new Goods("G001", "Pen", "Supplier A", 10.5, 100));
            store.addGood(new Goods("G002", "Notebook", "Supplier B", 25.0, 50));
    
            // Testing methods
            store.print();
    
            // SaleGood
            double saleAmount = store.saleGood("G001", 20);
            System.out.println("Sale Amount: " + saleAmount);
    
            // StatGood
            System.out.println("Total Quantity: " + store.totalQuantity());
            System.out.println("Total Value: " + store.totalValue());
    
            // DelGood
            store.delGood("G002");
    
            // UpdGood
            Goods updatedGoods = new Goods("G001", "Pen Pro", "Supplier A", 9.99, 80);
            store.updGood("G001", updatedGoods);
    
            // QueryGood
            Goods queriedGoods = store.queryGood("G001");
            queriedGoods.print();
    
            // Test print method
            store.print();
    
            // Test StatGood with specific codes
            List<String> codes = new ArrayList<>();
            codes.add("G001");
            System.out.println("Count by Codes: " + store.countByCodes(codes));
            System.out.println("Value by Codes: " + store.valueByCodes(codes));
        }
    }
    

    这个示例代码实现了商品信息管理系统的基本需求。你可以根据实际需求调整和扩展它。注意,这里没有实现中文大写的金额转换,因为Java标准库不支持直接将double类型转换为中文大写数字,你需要引入第三方库或者自己编写一个转换器类来实现这一功能。如果你需要这部分的代码,我可以提供一个简单的实现。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 5月5日
  • 已采纳回答 4月27日
  • 创建了问题 4月23日

悬赏问题

  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?