java 仓库管理系统出库入库 java商品入库程序

您所在的位置:网站首页 用java编写商品入库流程图 java 仓库管理系统出库入库 java商品入库程序

java 仓库管理系统出库入库 java商品入库程序

2024-07-11 03:10| 来源: 网络整理| 查看: 265

java程序模拟一个水果店水果入库系统,包含登录界面和入库卷面。具备如下功能: (1)店员在登录界面输入工号和密码。如果输入无路,则跳转入库界面,否则提示是输入工号错误还是密码错误,允许店员重新输入,直到输入正确或店员关闭登录窗口。可提前将工号和密码直接在代码中设定。 (2)店员可以在系统界面选择水果名称,输入水果重量,录入成本单价。例如可以选择苹果,系统自动显示苹果编号。入库时间,店员可手动输入苹果重量、成本单价,同样的也可以对葡萄等处理 (3)对库存中从来没有的水果,需手动添加编号、名称等信息 (4)入库界面应当显示当前入库明细,并实时更新系统库存、 (5)最后,店员确定入库明细无误,再确认,同时将最新库存自动存入文件fruitStorage.txt

import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class FruitStoreInventorySystem { private static final String FRUIT_STORAGE_FILE = "fruitStorage.txt"; // 库存文件名 private static final String LOGIN_ID = "123456"; // 预设的工号 private static final String PASSWORD = "password"; // 预设的密码 private Map fruitInventory; // 水果库存 private Scanner scanner; // 用于接收用户输入的Scanner对象 public FruitStoreInventorySystem() { fruitInventory = new HashMap(); scanner = new Scanner(System.in); } // 登录界面 public void login() { System.out.println("欢迎使用水果店入库系统!"); System.out.print("请输入工号:"); String id = scanner.nextLine(); System.out.print("请输入密码:"); String password = scanner.nextLine(); if (id.equals(LOGIN_ID) && password.equals(PASSWORD)) { System.out.println("登录成功!"); showInventory(); } else { System.out.println("工号或密码错误,请重新输入!"); login(); } } // 入库界面 public void showInventory() { while (true) { System.out.println("-----------"); System.out.println("水果库存:"); for (String fruitId : fruitInventory.keySet()) { Fruit fruit = fruitInventory.get(fruitId); System.out.println("编号:" + fruitId + ",名称:" + fruit.getName() + ",重量:" + fruit.getWeight() + ",成本单价:" + fruit.getCostPrice()); } System.out.println("-----------"); System.out.println("请选择操作:"); System.out.println("1. 录入水果入库"); System.out.println("2. 手动添加水果信息"); System.out.println("3. 确认入库明细并保存"); System.out.println("4. 退出系统"); int choice = getChoice(1, 4); switch (choice) { case 1: enterFruitInventory(); break; case 2: addFruitManually(); break; case 3: confirmAndSave(); break; case 4: System.out.println("谢谢使用,再见!"); System.exit(0); } } } // 录入水果入库 public void enterFruitInventory() { System.out.println("请选择水果名称:"); for (String fruitId : fruitInventory.keySet()) { Fruit fruit = fruitInventory.get(fruitId); System.out.println(fruitId + ". " + fruit.getName()); } String fruitId = scanner.nextLine(); if (fruitInventory.containsKey(fruitId)) { Fruit fruit = fruitInventory.get(fruitId); System.out.print("请输入水果重量:"); double weight = getDoubleInput(); System.out.print("请输入成本单价:"); double costPrice = getDoubleInput(); LocalDateTime now = LocalDateTime.now(); String formattedDateTime = now.format(DateTimeFormatter.ofPattern("yyyy fruit.setWeight(weight); fruit.setCostPrice(costPrice); fruit.setEntryTime(formattedDateTime); System.out.println("成功录入水果入库信息:"); System.out.println("编号:" + fruitId); System.out.println("名称:" + fruit.getName()); System.out.println("重量:" + fruit.getWeight()); System.out.println("成本单价:" + fruit.getCostPrice()); System.out.println("入库时间:" + fruit.getEntryTime()); } else { System.out.println("水果编号不存在,请选择手动添加水果信息选项进行添加。"); } } // 手动添加水果信息 public void addFruitManually() { System.out.println("请输入新水果的编号:"); String fruitId = scanner.nextLine(); if (fruitInventory.containsKey(fruitId)) { System.out.println("编号已存在,请重新输入。"); return; } System.out.println("请输入新水果的名称:"); String fruitName = scanner.nextLine(); System.out.println("请输入新水果的重量:"); double weight = getDoubleInput(); System.out.println("请输入新水果的成本单价:"); double costPrice = getDoubleInput(); Fruit fruit = new Fruit(fruitName, weight, costPrice); fruitInventory.put(fruitId, fruit); System.out.println("成功添加新水果信息:"); System.out.println("编号:" + fruitId); System.out.println("名称:" + fruit.getName()); System.out.println("重量:" + fruit.getWeight()); System.out.println("成本单价:" + fruit.getCostPrice()); } // 确认入库明细并保存 public void confirmAndSave() { System.out.println("确认入库明细并保存吗?(Y/N)"); String choice = scanner.nextLine(); if (choice.equalsIgnoreCase("Y")) { saveFruitStorageToFile(); System.out.println("入库明细已保存至" + FRUIT_STORAGE_FILE + "文件。"); } } // 保存水果库存至文件 public void saveFruitStorageToFile() { try (BufferedWriter writer = new BufferedWriter(new FileWriter(FRUIT_STORAGE_FILE))) { for (String fruitId : fruitInventory.keySet()) { Fruit fruit = fruitInventory.get(fruitId); writer.write(fruitId + "," + fruit.getName() + "," + fruit.getWeight() + "," + fruit.getCostPrice() + "," + fruit.getEntryTime()); writer.newLine(); } } catch (IOException e) { System.out.println("保存文件失败:" + e.getMessage()); } } // 获取用户输入的整数选项 public int getChoice(int min, int max) { int choice; while (true) { try { choice = Integer.parseInt(scanner.nextLine()); if (choice >= min && choice


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3