铁道大学小学期考试第一次作业优化

发布时间 2023-09-14 13:14:47作者: 伏尔·弗朗托
public class WarehouseInformation {
    private String itemno;
    private String itemname;
    private String suppliername;
    private String warehousingtime;
    private String shipmenttime;
    private String warehousenumber;
    private String warehouseplace;
    private int itemnumber;
    private int outnumber;

    public String getItemno() {
        return itemno;
    }

    public void setItemno(String itemno) {
        this.itemno = itemno;
    }

    public String getItemname() {
        return itemname;
    }

    public void setItemname(String itemname) {
        this.itemname = itemname;
    }

    public String getSuppliername() {
        return suppliername;
    }

    public void setSuppliername(String suppliername) {
        this.suppliername = suppliername;
    }

    public String getWarehousingtime() {
        return warehousingtime;
    }

    public void setWarehousingtime(String warehousingtime) {
        this.warehousingtime = warehousingtime;
    }

    public String getShipmenttime() {
        return shipmenttime;
    }

    public void setShipmenttime(String shipmenttime) {
        this.shipmenttime = shipmenttime;
    }

    public String getWarehousenumber() {
        return warehousenumber;
    }

    public void setWarehousenumber(String warehousenumber) {
        this.warehousenumber = warehousenumber;
    }

    public String getWarehouseplace() {
        return warehouseplace;
    }

    public void setWarehouseplace(String warehouseplace) {
        this.warehouseplace = warehouseplace;
    }

    public int getItemnumber() {
        return itemnumber;
    }

    public void setItemnumber(int itemnumber) {
        this.itemnumber = itemnumber;
    }

    public int getOutnumber() {
        return outnumber;
    }

    public void setOutnumber(int outnumber) {
        this.outnumber = outnumber;
    }
}
import java.util.Scanner;

public class WarehouseManagement {
    private final WarehouseInformation[] warehouseItems;

    public WarehouseManagement() {
        warehouseItems = new WarehouseInformation[5];
    }
    //菜单
    public void run() {
        Scanner scanner = new Scanner(System.in);
        int choice;

        do {
            System.out.println("***********************************************************");
            System.out.println("石家庄铁道大学前进22软件开发有限公司");
            System.out.println("仓库管理系统2022版");
            System.out.println("***********************************************************");
            System.out.println("1、商品入库管理");
            System.out.println("2、商品信息修改");
            System.out.println("3、商品出库管理");
            System.out.println("4、仓库盘点管理");
            System.out.println("***********************************************************");
            System.out.print("请输入数字选择功能:");
            choice = scanner.nextInt();
            scanner.nextLine();

            switch (choice) {
                case 1:
                    warehouseIn();
                    break;
                case 2:
                    modifyInformation();
                    break;
                case 3:
                    warehouseOut();
                    break;
                case 4:
                    inventoryCheck();
                    break;
                default:
                    System.out.println("该选项不存在,请重新输入!");
                    break;
            }
        } while (choice >= 1 && choice <= 4);
    }
    //入库
    void warehouseIn() {
        System.out.println("***********************************************************");
        System.out.println("石家庄铁道大学前进22软件开发有限公司");
        System.out.println("仓库管理系统2022版");
        System.out.println("***********************************************************");
        WarehouseInformation item = new WarehouseInformation();
        Scanner scanner = new Scanner(System.in);

        // 商品编号输入验证
        while (true) {
            System.out.print("商品编号:");
            String itemNo = scanner.nextLine();
            if (itemNo.matches("\\d{8}")) {
                item.setItemno(itemNo);
                break;
            } else {
                System.out.println("商品编号格式错误,请重新输入。");
            }
        }

        System.out.print("商品名称:");
        item.setItemname(scanner.nextLine());
        System.out.print("供货商信息:");
        item.setSuppliername(scanner.nextLine());

        // 入库时间输入验证
        while (true) {
            System.out.print("入库时间:");
            String warehousingTime = scanner.nextLine();
            if (warehousingTime.matches("\\d{8}")) {
                item.setWarehousingtime(warehousingTime);
                break;
            } else {
                System.out.println("入库时间格式错误,请重新输入。");
            }
        }

        // 存放仓库号输入验证
        while (true) {
            System.out.print("存放仓库号:");
            String warehouseNumber = scanner.nextLine();
            if (warehouseNumber.matches("\\d{3}")) {
                item.setWarehousenumber(warehouseNumber);
                break;
            } else {
                System.out.println("存放仓库号格式错误,请重新输入。");
            }
        }

        // 存放位置信息输入验证
        while (true) {
            System.out.print("存放位置信息:");
            String warehousePlace = scanner.nextLine();
            if (warehousePlace.matches("\\d{8}")) {
                item.setWarehouseplace(warehousePlace);
                break;
            } else {
                System.out.println("存放位置信息格式错误,请重新输入。");
            }
        }

        // 入库数量输入验证
        while (true) {
            System.out.print("入库商品数量:");
            int itemNumber = scanner.nextInt();
            scanner.nextLine();
            if (itemNumber > 0) {
                item.setItemnumber(itemNumber);
                break;
            } else {
                System.out.println("入库商品数量应大于0,请重新输入。");
            }
        }

        System.out.println("***********************************************************");
        System.out.println("石家庄铁道大学前进22软件开发有限公司");
        System.out.println("仓库管理系统2022版");
        System.out.println("***********************************************************");
        System.out.println("商品编号:" + item.getItemno());
        System.out.println("商品名称:" + item.getItemname());
        System.out.println("供货商信息:" + item.getSuppliername());
        System.out.println("入库时间:" + item.getWarehousingtime());
        System.out.println("存放仓库号:" + item.getWarehousenumber());
        System.out.println("存放位置信息:" + item.getWarehouseplace());
        System.out.println("入库商品数量:" + item.getItemnumber());
        System.out.println("***********************************************************");
        System.out.print("该商品入库操作已完成,是否提交(Y/N):");
        String choice = scanner.nextLine();
        if (choice.equalsIgnoreCase("Y")) {
            // 将商品信息存储到相应的数组中
            for (int i = 0; i < warehouseItems.length; i++) {
                if (warehouseItems[i] == null) {
                    warehouseItems[i] = item;
                    break;
                }
            }
        }
    }
    //修改
    private void modifyInformation() {
        System.out.println("***********************************************************");
        System.out.println("石家庄铁道大学前进22软件开发有限公司");
        System.out.println("仓库管理系统2022版");
        System.out.println("***********************************************************");

        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入商品编号:");
        String itemNo = scanner.nextLine();

        boolean found = false;
        for (WarehouseInformation item : warehouseItems) {
            if (item != null && item.getItemno().equals(itemNo)) {
                found = true;
                System.out.println("***********************************************************");
                System.out.println("石家庄铁道大学前进22软件开发有限公司");
                System.out.println("仓库管理系统2022版");
                System.out.println("***********************************************************");
                System.out.println("1、商品编号:" + item.getItemno());
                System.out.println("2、商品名称:" + item.getItemname());
                System.out.println("3、供货商信息:" + item.getSuppliername());
                System.out.println("4、入库时间:" + item.getWarehousingtime());
                System.out.println("5、存放仓库号:" + item.getWarehousenumber());
                System.out.println("6、存放位置信息:" + item.getWarehouseplace());
                System.out.println("7、商品数量:" + item.getItemnumber());
                System.out.print("请选择需要修改的信息编号(1-7):");
                int choice = scanner.nextInt();
                scanner.nextLine();

                switch (choice) {
                    case 1:
                        System.out.print("请输入修改后的商品编号:");
                        item.setItemno(scanner.nextLine());
                        break;
                    case 2:
                        System.out.print("请输入修改后的商品名称:");
                        item.setItemname(scanner.nextLine());
                        break;
                    case 3:
                        System.out.print("请输入修改后的供货商信息:");
                        item.setSuppliername(scanner.nextLine());
                        break;
                    case 4:
                        System.out.print("请输入修改后的入库时间:");
                        item.setWarehousingtime(scanner.nextLine());
                        break;
                    case 5:
                        System.out.print("请输入修改后的存放仓库号:");
                        item.setWarehousenumber(scanner.nextLine());
                        break;
                    case 6:
                        System.out.print("请输入修改后的存放位置信息:");
                        item.setWarehouseplace(scanner.nextLine());
                        break;
                    case 7:
                        System.out.print("请输入修改后的商品数量:");
                        item.setItemnumber(scanner.nextInt());
                        scanner.nextLine();
                        break;
                    default:
                        System.out.println("该选项不存在,请重新输入!");
                        break;
                }

                System.out.print("是否保存修改信息(Y/N):");
                String saveChoice = scanner.nextLine();

                if (saveChoice.equalsIgnoreCase("Y")) {
                    // 保存修改信息
                    System.out.println("修改信息已保存!");
                } else {
                    System.out.println("修改信息未保存!");
                }

                break;
            }
        }

        if (!found) {
            System.out.println("库中没有该商品!");
        }
    }
    //出库
    private void warehouseOut() {
        System.out.println("***********************************************************");
        System.out.println("石家庄铁道大学前进22软件开发有限公司");
        System.out.println("仓库管理系统2022版");
        System.out.println("***********************************************************");
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入商品编号:");
        String itemNo = scanner.nextLine();
        boolean found = false;
        for (WarehouseInformation item : warehouseItems) {
            if (item != null && item.getItemno().equals(itemNo)) {
                found = true;
                System.out.println("***********************************************************");
                System.out.println("石家庄铁道大学前进22软件开发有限公司");
                System.out.println("仓库管理系统2022版");
                System.out.println("***********************************************************");
                System.out.println("1、商品编号:" + item.getItemno());
                System.out.println("2、商品名称:" + item.getItemname());
                System.out.println("3、供货商信息:" + item.getSuppliername());
                System.out.println("4、入库时间:" + item.getWarehousingtime());
                System.out.println("5、存放仓库号:" + item.getWarehousenumber());
                System.out.println("6、存放位置信息:" + item.getWarehouseplace());
                System.out.println("7、入库商品数量:" + item.getItemnumber());
                System.out.print("出库时间:");
                item.setShipmenttime(scanner.nextLine());

                System.out.print("出库数量:");
                int outNumber = scanner.nextInt();
                scanner.nextLine();

                if (outNumber <= item.getItemnumber()) {
                    item.setOutnumber(outNumber);
                    System.out.print("是否保存结果(Y/N):");
                    String saveChoice = scanner.nextLine();
                    if (saveChoice.equalsIgnoreCase("Y")) {
                        // 保存出库结果
                        System.out.println("出库结果已保存!");
                    } else {
                        System.out.println("出库结果未保存!");
                    }
                } else {
                    System.out.println("出库数量错误!");
                }
                break;
            }
        }
        if (!found) {
            System.out.println("库中没有该商品!");
        }
    }//盘点
    private void inventoryCheck() {
        System.out.println("***********************************************************");
        System.out.println("石家庄铁道大学前进22软件开发有限公司");
        System.out.println("仓库管理系统2022版");
        System.out.println("***********************************************************");
        System.out.println("商品编号\t商品名称\t库存数量");
        for (WarehouseInformation item : warehouseItems) {
            if (item != null) {
                int inventoryQuantity = item.getItemnumber() - item.getOutnumber();
                System.out.println("商品编号:" + item.getItemno() + "、商品名称:" + item.getItemname() + "、库存数量:" + inventoryQuantity);
            }
        }
    }
}
public class Main {
    public static void main(String[] args) {
        WarehouseManagement warehouseManagement = new WarehouseManagement();
        warehouseManagement.run();
    }
}