zoukankan      html  css  js  c++  java
  • 超市管理

    package com.myshoop;
    
    //会员类  
    public class Member {
    
        
        private String name;   //姓名
        private int num;    //会员卡号
        private String password;  //密码
        private int score;   //积分
        private String carDate;   //开卡日期
        
        
        
        
        
        public Member() {
            super();
        }
        public Member(String name, int num, String password, int score, String carDate) {
            super();
            this.name = name;
            this.num = num;
            this.password = password;
            this.score = score;
            this.carDate = carDate;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getNum() {
            return num;
        }
        public void setNum(int num) {
            this.num = num;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        public int getScore() {
            return score;
        }
        public void setScore(int score) {
            this.score = score;
        }
        public String getCarDate() {
            return carDate;
        }
        public void setCarDate(String carDate) {
            this.carDate = carDate;
        }
        
        
    }
    package com.myshoop;
    
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import java.util.Random;
    import java.util.Scanner;
    
    //业务类
    public class MemberDao {
    
        Member m = null;
        static Scanner sc = new Scanner(System.in);
        // 写一个集合用来存储会员用户的
        List<Member> memberList = new ArrayList<Member>();
    
        // 写方法
        // 开始菜单
        // 菜单
        public void menu() {
    
            System.out.println("***欢迎来到新嘉隆线上超市******");
            System.out.println("**********************");
            System.out.println("1、积分累计 2、积分兑换 3、查询剩余积分 4、修改密码 5、开卡 6、退出");
            System.out.println("请选择:");
    
        }
    
        // 开始
        public void start() {
    
            do {
                menu();
                String choose = sc.next();
                switch (choose) {
                case "1":
                    // 积分累计
                    scoreAdd();
                    if (scoreAdd() == true) {
                        System.out.println("积分累计成功!Q");
                    } else if (scoreAdd() == false) {
    
                        System.out.println("积分累计失败!N");
                    }
                    continue;
                case "2":
                    // 积分兑换
                    scoreChange();
                    if (scoreChange() == true) {
    
                        System.out.println("积分兑换成功!");
                    } else if (scoreChange() == false) {
    
                        System.out.println("积分兑换失败!");
                    }
                    continue;
                case "3":
                    // 查询剩余积分
                    finaScore();
                    continue;
                case "4":
                    // 修改密码
                    changePassword();
                    continue;
                case "5":
                    // 开卡
                    openCar();
                    continue;
    
                case "6":
                    // 退出
                    System.out.println("亲! 谢谢您的使用,欢迎下次再次使用!");
                    break;
    
                default:
                    System.out.println("亲! 找不到您要的选线 ,请重新输入❥(^_-)");
    
                    continue;
                }
                break;
            } while (true);
    
        }
    
        // * 查询用户是否存在 如果存在返回用户 根据会员卡号和密码查找用户是否存在 不存在则为null
        public Member hasMember(int num, String password) {
    
            for (Member member : memberList) {
    
                if (member.getNum() == num && member.getPassword().equalsIgnoreCase(password)) {
    
                    return member;
                }
            }
            return null;
    
        }
    
        // 1、积分累计
        public boolean scoreAdd() {
    
            System.out.println("请输入卡号:");
    
            int num = sc.nextInt();
    
            System.out.println("请输入密码:");
    
            String password = sc.next();
    
            if (hasMember(num, password) != null) {
    
                System.out.println("请输入您的消费金额(0.1元相当于100积分)");
                int score = sc.nextInt();
                m.setScore(m.getScore() + score * 1000);
                System.out.println("恭喜用户获得积分:" + m.getScore());
            } else {
    
                System.out.println("该用户不存在,请重新输入:");
            }
            return true;
    
        }
    
        // 2、积分兑换
        public boolean scoreChange() {
            System.out.println("请输入卡号:");
    
            int num = sc.nextInt();
            
            System.out.println("请输入密码:");
            
            String password = sc.next();
            
            if(hasMember(num,password)!=null) {
                
                System.out.println("请输入您要兑换的积分数(1积分相当于0.001元)");
                int score = sc.nextInt();
                if(score<=m.getScore()) {
                m.setScore(m.getScore()-score);
                System.out.println("恭喜用户兑换积分成功! 兑换的金额是::"+"
    "+score*0.001+"元");
                }else {
                    System.out.println("用户的积分不够!");
                }
            }else {
                
                
                System.out.println("该用户不存在(或用户名和密码错误),请重新输入:");
            }
            return true;
            
        
        }
    
        // 3、查询剩余积分
        public void finaScore() {
            System.out.println("请输入卡号:");
    
            int num = sc.nextInt();
            
            System.out.println("请输入密码:");
            
            String password = sc.next();
            
    if(hasMember(num,password)!=null) {
                
                
            System.out.println(m.getScore());
            
            
            }else {
                
                
                System.out.println("该用户不存在,请重新输入:");
            }
        
        }
    
        // 4、修改密码
        public void changePassword() {
            System.out.println("请输入卡号:");
    
            int num = sc.nextInt();
            
            System.out.println("请输入密码:");
            
            String password = sc.next();
            
            if(hasMember(num,password)!=null) {
                
                
                System.out.println("请输入你要修改的密码:");
                String newPassword = sc.next();
                m.setPassword(newPassword);
                System.out.println("修改密码成功!");
                }else {
                    
                    
                    System.out.println("该用户不存在,请重新输入:");
                }
            
        }
    
        // 5、开卡 用户要先开卡才能使用
        // 随机生成卡号
        public int creatNum() {
    
            Random random = new Random();
            int num = random.nextInt(100000000);
            // 确保卡号的唯一性 如果集合中存在 那么就再随机生成一个
            if (m.getNum() == num) {
                num = random.nextInt(100000000);
    
            }
            return num;
        }
    
        public void openCar() {
            m = new Member();
            System.out.println("请输入用户名:");
            m.setName(sc.next());
            // 随机生成卡号 写一个方法
            int carNum = creatNum();
            m.setNum(carNum);
            // 确保用户名和密码正确
            // 输入密码 密码的长度不能小于6
            System.out.print("请输入注册密码:  ");
            String password;
            boolean boo = true;
            do {
                password = sc.next();
                if (password.length() < 6) {
                    System.out.print("输入的密码长度小于6,亲! 请重新输入:  ");
                    boo = false;
                } else {
                    boo = true;
                    m.setPassword(password);
                }
    
            } while (!boo);
    
            // 注册成功! 赠送100积分
            m.setScore(100);
            // 开卡日期:
            Date date = new Date();
    
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    
            String carDate = simpleDateFormat.format(date);
            m.setCarDate(carDate);
    
            // 提醒用户操作成功! 卡号是多少
            System.out.println("亲! 您的会员开通成功! 您的卡号是:" + carNum);
    
            memberList.add(m);
        }
    
    }
    package com.myshoop;
    
    public class Test {
    
        //测试类
        public static void main(String[] args) {
            
            MemberDao dao = new MemberDao();
            
            dao.start();
            
        }
    }
  • 相关阅读:
    【Azure 应用服务】由 Azure Functions runtime is unreachable 的错误消息推导出 ASYNC(异步)和 SYNC(同步)混用而引起ThreadPool耗尽问题
    【Azure API 管理】是否可以将Swagger 的API定义导入导Azure API Management中
    【Azure 应用服务】Azure Function 不能被触发
    【Azure 环境】Azure Key Vault (密钥保管库)中所保管的Keys, Secrets,Certificates是否可以实现数据粒度的权限控制呢?
    【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
    【Azure 事件中心】azure-spring-cloud-stream-binder-eventhubs客户端组件问题, 实践消息非顺序可达
    【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)
    【Azure 环境】前端Web通过Azure AD获取Token时发生跨域问题(CORS Error)
    【Azure 应用服务】记一次Azure Spring Cloud 的部署错误 (az spring-cloud app deploy -g dev -s testdemo -n demo -p ./hellospring-0.0.1-SNAPSHOT.jar --->>> Failed to wait for deployment instances to be ready)
    【Azure 应用服务】App Service中抓取 Web Job 的 DUMP 办法
  • 原文地址:https://www.cnblogs.com/bichen-01/p/11415478.html
Copyright © 2011-2022 走看看