捡垃圾养我吧! 2021-07-01 10:58 采纳率: 33.3%
浏览 145
已采纳

运用JAVA设计超市收银系统

img

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2021-07-01 11:12
    关注

    如有帮助,请采纳。点击我回答右上角【采纳】按钮

    //shop类
    public class Shop {//门店类
        private String shopName;
        private String shopTelephone;
        public Shop() {
        }
        
        public Shop(String shopName, String shopTelephone) {
            this.shopName = shopName;
            this.shopTelephone = shopTelephone;
        }
    
        public String getShopName() {
            return shopName;
        }
    
        public void setShopName(String shopName) {
            this.shopName = shopName;
        }
    
        public String getShopTelephone() {
            return shopTelephone;
        }
    
        public void setShopTelephone(String shopTelephone) {
            this.shopTelephone = shopTelephone;
        }
    
        @Override
        public String toString() {
            return "门店名称:" + shopName + "\n门店电话:" + shopTelephone;
        }
    
    }
    
    
    //Commodity类
    public class Commodity {//商品类
        
        private String commodityName;
        private Double commodityValue;
        private Double commodityNumber;
        public Commodity() {
        }
        
        public Commodity(String commodityName, Double commodityValue, Double commodityNumber) {
            this.commodityName = commodityName;
            this.commodityValue = commodityValue;
            this.commodityNumber = commodityNumber;
        }
    
        public String getCommodityName() {
            return commodityName;
        }
    
        public void setCommodityName(String commodityName) {
            this.commodityName = commodityName;
        }
    
        public Double getCommodityValue() {
            return commodityValue;
        }
    
        public void setCommodityValue(Double commodityValue) {
            this.commodityValue = commodityValue;
        }
    
        public Double getCommodityNumber() {
            return commodityNumber;
        }
    
        public void setCommodityNumber(Double commodityNumber) {
            this.commodityNumber = commodityNumber;
        }
    
        @Override
        public String toString() {
            return "Commodity [commodityName=" + commodityName + ", commodityValue=" + commodityValue + ", commodityNumber="
                    + commodityNumber + "]";
        }
    
    }
    
    //Method方法类
    import java.util.Date;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    
    
    public class Method {
        private String payingMethod;
        private Double money = 0.00;
        private String cashRegisterNumber = "3671";//收款机编号
        
        Scanner scanner = new Scanner(System.in);
        Shop shop = new Shop();
        //Commodity commodity = new Commodity();
        List<Commodity> listCommodity = new ArrayList<>();
        
        
        //功能一:设置门店信息
        public Shop SetUpShopMessage() {
            System.out.println("请输入门店名称:");
            String shopName = scanner.next();
            System.out.println("请输入门店联系电话:");
            String shopTelephone = scanner.next();
            shop.setShopName(shopName);
            shop.setShopTelephone(shopTelephone);
            return shop;
        }
        
        //功能二主模块:
        public void MainFunction() {
            while (true) {
                System.out.println("1.添加商品 2.付款方式 3.生成小票 4.收款金额 5.回主菜单");
                System.out.println("请按功能菜单选择序号:");
                int select = scanner.nextInt();
                switch (select) {
                case 1:
                    Commodity commodity = new Commodity();
                    commodity = addCommodity();
                    listCommodity.add(commodity);
                    break;
                case 2:
                    payingMethod();
                    break;
                case 3:
                    Receipt();
                    break;
                case 4:
                    collectMoney();
                    break;
                case 5:
                    listCommodity.clear();
                    return;
    
                default:
                    System.out.println("输入错误,请重新输入");
                    break;
                }
                
            }
            
        }
        
        //功能二模块组成1添加商品功能
        private Commodity addCommodity() {
            System.out.println("请输入商品名称:");
            String commodityName = scanner.next();
            System.out.println("请输入商品单价:");
            double commodityValue = scanner.nextDouble();
            System.out.println("请输入购买数量:");
            double commodityNumber = scanner.nextDouble();
            Commodity commodity = new Commodity();
            commodity.setCommodityName(commodityName);
            commodity.setCommodityValue(commodityValue);
            commodity.setCommodityNumber(commodityNumber);
            
            return commodity;
            
        }
        
        //功能二模块组成2付款方式
        private void payingMethod() {
            System.out.println("请选择付款方式:1(支付宝) 2(微信) 3(现金)");
            int choose = scanner.nextInt();
            if (choose == 1) {
                payingMethod = "支付宝";
            } else if(choose == 2) {
                payingMethod = "微信";
            } else if(choose == 3) {
                payingMethod = "现金";
            }else {
                System.out.println("输入错误,请重新输入");
            }
        }
        
        //功能二模块组成3生成小票
        private void Receipt() {
            double value = 0;
            for (Commodity commodity : listCommodity) {
                value += commodity.getCommodityValue() * commodity.getCommodityNumber();
            }
            String num = String.format("%.2f", value);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
            String numbering = sdf.format(new Date());
            System.out.println(shop.getShopName());
            System.out.println("订单编号(OUT TRADE NO):");
            System.out.println(numbering + cashRegisterNumber);
            System.out.println("****************************");
            System.out.println("欢迎光临         TEL:" + shop.getShopTelephone());
            System.out.println("品名    售价    数量    金额");
            System.out.println("----------------------------");
            for (Commodity commodity : listCommodity) {
                System.out.println(commodity.getCommodityName() + "=    " + commodity.getCommodityValue() + "  *  " +commodity.getCommodityNumber() + "    " + String.format("%.2f", commodity.getCommodityValue() * commodity.getCommodityNumber()));
            }
            System.out.println("----------------------------");
            System.out.println("共计" + listCommodity.size() + "项商品");
            System.out.println("购物总金额:" + num);
            System.out.println(payingMethod + "实付:" + money);
            System.out.println("找零:" + String.format("%.2f", (money - value)));
            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String time = sdf1.format(new Date());
            System.out.println("付款时间:" + time);
            System.out.println("收款机:" + cashRegisterNumber);
            listCommodity.clear();
        }
        
        
        //功能二模块组成4收款金额
        private void collectMoney() {
            System.out.println("请输入客户付款金额");
            money = scanner.nextDouble();
        }
    
    }
    
    //Main方法
    import java.util.Scanner;
    
    public class TestMain {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            Method method = new Method();
            //List<Shop> listShop = new ArrayList<Shop>();
            Shop shop = new Shop();
            
            while (true) {
                System.out.println("----------欢迎使用蓝欧超市收银系统----------");
                System.out.println("1.设置门店信息");
                System.out.println("2.顾客结账");
                System.out.println("3.退出系统");
                System.out.println("请按序号选择要使用的功能:");
                int choose = scanner.nextInt();
                switch (choose) {
                case 1:
                    shop = method.SetUpShopMessage();
                    System.out.println(shop);
                    System.out.println("门店信息设置成功!");
                    break;
                case 2:
                    method.MainFunction();
                    break;
                case 3:
                    System.out.println("系统已成功退出!");
                    scanner.close();
                    return;
    
                default:
                    System.out.println("输入错误,请重新输入");
                    break;
                }
            }
        }
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料