超市会员管理系统
会员类:
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("**********欢迎下次光临超市会员管理系统!**********"); } }
运行结果:
注册会员:
会员登录:
积分兑换及查询:
修改密码: