超市会员管理系统

会员类:

package com.memberSystem;

import java.util.Random;

public class Member {
    private String name;
    private String key;
    private int score = 100;
    private String date;


    public Member(){}
    public Member(String name,String key, int score, String date){
        this.name = name;
        this.key = key;
        this.score = score;
        this.date = date;
    }
//生成会员卡号
    public int login(){
        Random random = new Random();
        int cardID;
        do {
            cardID  = random.nextInt(1000000);
        }while (cardID<100000 || cardID>999999);
        return cardID;
    }
//    生成验证码
    public StringBuffer code(){
        Random random = new Random();
        StringBuffer str = new StringBuffer();
        int[] nums = new int[6];
        for(int i = 0 ; i < 6 ; i++){
            do{
                nums[i] = random.nextInt(123);
                if(nums[i] >= 0 && nums[i] <= 9){
                    str = str.append(nums[i]);
                    break;
                }else if(nums[i] >= 65 && nums[i] <= 90){
                    char num = (char) nums[i];
                    str = str.append(num);
                    break;
                }else if(nums[i] >= 97 && nums[i] <= 122){
                    char num = (char) nums[i];
                    str = str.append(num);
                    break;
                }
            }while(true);
        }
        return str;
    }
//    积分兑换
    public void duihuan(int jifen){
        double money = jifen/100;
        this.score = this.score - jifen;
        System.out.println("您兑换的金额为:"+money);
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public int getScore() {
        return score;
    }

    public void setScore(double money) {
        this.score = this.score+(int)money;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }


}

测试类:

package com.memberSystem;

import java.text.SimpleDateFormat;
import java.util.*;

public class MenberSystems {
    public static void main(String[] args) {
        Scanner s  = new Scanner(System.in);
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Member member = new Member();
        Member member1 = new Member("张三","888888",1000,"2019-1-1");
        int str = 888888;
        Map<Integer, Member> map = new HashMap<>();
        map.put(str,member1);
        boolean flag = true;
        boolean flag1 = true;
        String key ;
        int number1;
        String codes ;

        do {
            System.out.println("**********欢迎来到超市会员管理系统!**********");
            System.out.println("1、登录        2、注册        3、退出系统");
            int login = 0;
            do{
                login = s.nextInt();
            }while (login != 1 && login != 2 && login != 3);
            switch (login){
                case 1:
//                    会员登录
//                    卡号验证
                    do{
                        System.out.println("请输入6位会员卡号:");
                        number1= s.nextInt();

                        Set set = map.keySet();
                        for(Object obj : set){
                            Integer integer = (Integer) obj;
                            if(number1==integer){flag1=false;}
                        }
                    }while(flag1);
//                      密码验证
                    do{
                        System.out.println("请输入密码:");
                        flag1=true;
                        key = s.next();
                        Collection col = map.values();
                        for(Object obj : col){
                            Member mem = (Member) obj;
                            if(key.equals(mem.getKey())){flag1=false;}
                        }
                    }while(flag1);
//                  验证码验证
                    StringBuffer stringCode = member.code();
                    System.out.println("验证码为:"+stringCode);
                    do{
                        System.out.println("请输入验证码:");
                        codes = s.next();
                    }while (!codes.contentEquals(stringCode));
                    do{
                        flag1 = true;
                        System.out.println("**********欢迎来到超市会员管理系统!**********");
                        System.out.println("1、积分查询  2、积分累计  3、积分兑换  4、修改密码  5、退出系统");
                        do{
                            login = s.nextInt();
                        }while (login != 1 && login != 2 && login != 3 && login != 4 && login != 5);
                        Integer number = new Integer(number1);
                        switch (login){
                            case 1:
//                                积分查询
                                Object object = map.get(number);
                                Member member2 = (Member) object;
                                int score = member2.getScore();
                                System.out.println("您的积分为:"+score);
                                break;
                            case 2:
//                                积分累计
                                System.out.println("请输入您的消费金额:");
                                double money = s.nextDouble();
                                Member member3 = map.get(number);
                                member3.setScore(money);
                                System.out.println("积分累计成功!");
                                break;
                            case 3:
//                                兑换积分
                                Object object1 = map.get(number);
                                Member member4 = (Member) object1;
                                int score1 = member4.getScore();
                                System.out.println("您的积分为:"+score1);
                                System.out.println("请输入你要兑换的积分:");
                                int jifen = s.nextInt();
                                if(jifen>score1){
                                    do{
                                    System.out.println("兑换的积分不得超过已有积分!请重新输入:");
                                    jifen = s.nextInt();}while (jifen>score1);
                                }
                                member4.duihuan(jifen);
                                break;
                            case 4:
//                                修改密码
                                Object object2 = map.get(number);
                                Member member5 = (Member) object2;
                                do{
                                    do {
                                        System.out.println("请输入新密码(密码长度大于等于6):");
                                        member5.setKey(s.next());
                                    }while (member5.getKey().length()<5);
                                    System.out.println("请确认密码:");
                                    key = s.next();
                                    if(member5.getKey().equals(key)){break;}
                                }while (true);
                                System.out.println("密码修改成功!");
                                flag1 = false;
                                break;
                            case 5:
//                                退出系统
                                flag1 = false;
                                flag = false;
                        }
                    }while (flag1);
                    break;

                case 2:
//                    注册会员
                    System.out.println("请输入会员名称:");
                    member.setName(s.next());
//                    设置密码
                    do{
                        do {
                            System.out.println("请输入密码(密码长度大于等于6):");
                            member.setKey(s.next());
                        }while (member.getKey().length()<5);
                        System.out.println("请确认密码:");
                        key = s.next();
                        if(member.getKey().equals(key)){break;}
                    }while (true);
                    member.setDate(format.format(date));
                    str = member.login();
                    map.put(str,member);
                    System.out.println("注册成功!\n赠送100积分!");
                    System.out.println("您的会员卡号为:"+str);
                    System.out.println("创建时间:"+member.getDate());
                    break;
                case 3:
                    flag = false;
            }
        }while (flag);
        System.out.println("**********欢迎下次光临超市会员管理系统!**********");
    }
}

运行结果:

注册会员:

会员登录:

积分兑换及查询:

修改密码:

猜你喜欢

转载自www.cnblogs.com/yangwenxiang/p/10452499.html