超市管理

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("恭喜用户兑换积分成功! 兑换的金额是::"+"\n"+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();

    }
}

原文地址:https://www.cnblogs.com/bichen-01/p/11415478.html

时间: 2024-10-21 07:45:39

超市管理的相关文章

某大型连锁超市库存管理系统分析报告

全部内容可直接下载(含各层DFD图):https://yunpan.cn/cBqgN2DaBAKig  访问密码 a2e3 目录 一.前言    2 二.现行库存管理系统概况    3 2.1企业发展概况    3 2.2目前企业库存流程调查情况    3 2.3目前信息载体调查情况    7 三.库存管理系统需求分析    9 3.1现行系统的不足分析    9 3.2信息需求分析    9 3.3功能需求分析    9 四.数据模型及编码模型设计    12 4.1数据字典    12 4.

超市管理系统制定测试计划

http://www.cnblogs.com/panguangmei/ 超市管理系统测试计划 1. 简介 1. 1目的 超市管理系统“超市管理系统测试计划”文档有助于实现以下目标: 确定超市管理系统的信息和应超市管理系统测试的软件构件. 针对超市管理系统推荐可采用的超市管理系统测试策略,并对这些策略加以说明. 确定所需的资源,并对超市管理系统测试的工作量进行估计. 列出超市管理系统超市管理系统测试项目的可交付元素. 1. 2背景 对超市管理系统(构件.应用程序.系统等)及其目标进行简要说明.需要

无人超市无人便利店加盟代理新零售模式分析

首先我们公司认同一点,无人便利店是时代的趋势,社会走向的必然定律,没有环德公司做一样会有别的公司做,没有马云做,趋势一样无法改变.因为这是一个大趋势,一个时代的变化,便利店行业的的转变.全国性连锁公司开展后,公开引风投注资,预计A轮融资金额超2亿.之后将加大宣传力度,加快开展速度,预计半年内代理分公司达到200家以上,一年内开展5000间加盟便利店,三年内开展20000间加盟便利店,达到预期目标以后申请上市主板. 扫码进门,选取商品,通过支付门,无需再次掏出手机,商品款项就会被自动扣除.在首家淘

C#设计模式——简单工厂模式实现:超市收银系统

一.超市收银系统: 在上一篇中简单介绍了简单工厂模式,在理论方面应该清楚了这是个什么东西用来处理什么情况和它的优缺点,现在来看看应用简单工厂模式的一个现实情境--超市收银系统.在现实生活中商品.仓库.超市.顾客就是一条链子,通过这条链子不论是顾客买商品或者是超市管理商品都得到非常方便的效果,超市也会有一些优惠的方案,这次我们就通过简单工厂模式来实现我们现实生活中超市收银的情况. 二.逻辑思路: 1.产品: 1-1.创建产品父类,产品有价格.名称.ID等公共属性. 1-2.创建各产品子类,继承于产

文献综述十一:基于商品的商业超市管理系统的改进

一.基本信息 标题:基于商品的商业超市管理系统的改进 时间:2017 出版源:潍坊学院学报 文件分类:对商品系统的研究 二.研究背景 根据超市实际需求进行扩展 ,由重结果向行为转为重过程控制 ,实现超市系统的自动管理和优化. 三.具体内容 大部分超市系统的商品管理着重点在于数据库管理.供应链管理等理论性研究,而国外的先进品类管理软件水土不服,不适合国内的超市管理特点.本文献主要从调研 .采购 .订单 .收货 .库存 .销售到回款等各个环节实施全程计算机控制 ,实现系统的自动判断和优化.文献的主要

SSM超市管理系统

每天记录学习,每天会有好心情.*^_^* 今天将为大家分析一个基于SSM的超市管理系统的设计与实现,给超市管理营造 出了一种现代化的气氛,至少也能促使人们的管理观念进行一点更新或者给超市罩上一层现代管理的外衣.采用当前非常流行的B/S体系结构,以JSP作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统.关键词,管理系统的设计与实现,超市管理系统设计与实现,设计超市管理系统),基于SSM的超市管理系统的设计与实现项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIP

哪里可以找到基于JAVA设计帮做的超市管理系统

一,关于我们我们是专业从事于定做计算机相关毕业设计,拥有专业的写手团队和严格的保密制度.我们的工程师们在软件工程开发与设计的各个领域积累了丰富的经验,保证服务水平.我们致力于为客户提供各专业高质量的毕业设计定做服务,为即将毕业的同学提供毕业设计指导.毕设代做.毕设定制等一站式服务.强大的专业能力,高效的服务水平,多年以来一直深得客户好评,毕业只有一次,我们将尽心尽力为你完成毕设. 联系我们:.扣.扣.号(幺零三贰三七幺贰幺) 与我们取得联系,向我们提出您的写作要求:我们咨询师会根据您的服务需求和

大数据分析案例

部分数据来源于网络,如有侵权请告知. 一.大数据分析在商业上的应用 1.体育赛事预测 世界杯期间,谷歌.百度.微软和高盛等公司都推出了比赛结果预测平台.百度预测结果最为亮眼,预测全程64场比赛,准确率为67%,进入淘汰赛后准确率为94%.现在互联网公司取代章鱼保罗试水赛事预测也意味着未来的体育赛事会被大数据预测所掌控. “在百度对世界杯的预测中,我们一共考虑了团队实力.主场优势.最近表现.世界杯整体表现和博彩公司的赔率等五个因素,这些数据的来源基本都是互联网,随后我们再利用一个由搜索专家设计的机

CSDN日报20170319——《人工智能风口, Python 程序员的狂欢与企业主的哀嚎》

[程序人生]人工智能风口, Python 程序员的狂欢与企业主的哀嚎 作者:赖勇浩 人工智能风口有多火?估计很多人已经感受到了,我在这里引用一下新智元的报道: "2017年短短不到三个月的时间,国内AI获投项目已有36个,千万级别融资占据半数以上." 嗯,就是那么霸道.两会刚刚结束,"人工智能"首次被列入政府工作报告,随之而来的是人工智能板块领跑大盘涨势,无疑,这一切将刺激人工智能在多个领域的全面发展. [深度学习]NeuralFinder :集成人工生命和遗传算法