超市会员管理系统
超市会员管理系统百度云盘下载
链接:https://pan.baidu.com/s/1ifP73BSnq9tgofF6ea9GiA
提取码:w9ih
客户会员类
package com.member; import java.util.Date; /** * 客户信息类 * @author Administrator * */ public class User { //客户资料 private Integer cardNum; //卡号 private String userName; //用户名 private String password; //密码 private int integral=100; //积分 private Date ocd; //开卡日期 //构造方法 public User() {} public User(int cardNum,String userName, String password, int integral,Date ocd) { this.cardNum = cardNum; this.userName=userName; this.password = password; this.integral = integral; this.ocd=ocd; } //setter getter public int getCardNum() { return cardNum; } /** * 会员卡号八位数限制 */ public boolean setCardNum(int cardNum) { if(cardNum>=10000000&&cardNum<100000000) { this.cardNum = cardNum; return false; } return true; } public String getUserName() { return userName; } /** * 用户名长度限制 */ public boolean setUserName(String userName) { if(userName.length()>2&&userName.length()<13) { this.userName = userName; return false; }else if(userName.length()<3){ System.out.println("用户名长度不能少于3位"); }else { System.out.println("用户名长度不能多于12位"); } return true; } public String getPassword() { return password; } /** * 密码长度限制 */ public boolean setPassword(String password) { if(password.length()>5&&password.length()<13) { this.password = password; return false; }else if(password.length()<=5){ System.out.println("密码长度不能少于6位"); }else { System.out.println("密码长度不能多于12位"); } return true; } public int getIntegral() { return integral; } public void setIntegral(int integral) { this.integral= integral; } public Date getOcd() { return ocd; } public void setOcd(Date ocd) { this.ocd = ocd; } }
超市系统
package com.member; import java.text.SimpleDateFormat; import java.util.Date; /** * 会员卡系统类 */ import java.util.HashMap; import java.util.InputMismatchException; import java.util.Map; import java.util.Random; import java.util.Scanner; public class Member { Scanner sc=new Scanner(System.in); Map<Integer,User> map=new HashMap<Integer,User>(); //会员卡集合 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //时间显示的格式 /** * 高级会员 */ Date date=new Date(); //获取当前系统时间 User user1=new User(88888888,"善良可爱猪","h888888",10000,date); User user2=new User(99999999,"无敌龙卷风","999999",20000,date); User user3=new User(66666666,"老司机","666666",20000,date); public void initial(){ map.put(88888888,user1); map.put(99999999,user2); map.put(66666666,user3); } /** * 会员管理系统界面 */ public void start() { initial(); //初始化高级会员 String choose=""; //用户选择 do{ System.out.println("**********欢迎进入超市会员管理系统**********"); System.out.println("1、会员登录\t\t2、会员开卡\t\t3、退出系统"); choose=sc.next(); switch (choose) { case "1": System.out.println("***会员登录***"); User u=Login(); //登录后返回的对象 if(u instanceof User) { //判断返回的对象是否是会员 menu(u); //调用会员菜单二级界面 } break; case "2": System.out.println("***会员开卡***"); newCard(); //调用开卡方法 break; case "3": System.out.println("感谢您的使用,欢迎下次使用!"); break; case "zzh": System.out.println("***管理者***"); inShow(); break; default: System.out.println("*输入有误,请重新输入!*"); break; } }while(!"3".equals(choose)); } /** * 会员卡菜单界面(二级菜单) */ public void menu(User u) { String choose=""; do { System.out.println("*******************************会员用户**********************************"); System.out.println("1、积分累计\t\t2、积分兑换\t\t3、查询剩余积分\t4、修改密码\t\t5、退出登录"); choose=sc.next(); switch (choose) { case "1": System.out.println("***积分累计***"); shop(u); break; case "2": System.out.println("***积分兑换***"); toUse(u); break; case "3": System.out.println("***查询积分***"); show(u); break; case "4": System.out.println("***修改密码***"); if(revamp(u)) { System.out.println("***请重新登录***"); return; } break; case "5": System.out.println("***退出登录成功***"); break; default: System.out.println("输入有误,请重新输入!"); break; } }while(!"5".equals(choose)); } /** * 登入会员卡 */ public User Login() { boolean flag=false; System.out.println("请输入您的会员卡号:"); Integer cardNum=0; try { cardNum=sc.nextInt(); }catch(InputMismatchException e) { System.err.println("卡号非法输入"); return null; } System.out.println("请输入您的密码:"); String password=sc.next(); //遍历集合的key,对比输入的key for(Map.Entry<Integer,User> m:map.entrySet()) { if(cardNum.equals(m.getKey())&&password.equals(m.getValue().getPassword())) { System.out.println("***登录成功***"); System.out.println("***尊敬的:"+m.getValue().getUserName()+",您好***"); return m.getValue(); //返回对象 } } System.out.println("用户名或者密码错误"); return null; } /** * 会员开卡 */ public void newCard() { //创建用户 User u=new User(); //随机八位数卡号 Random random=new Random(); boolean flag; //标记卡号是否正确 do { flag=u.setCardNum(random.nextInt()); //随机卡号值 }while(flag); //输入用户名密码 do { System.out.println("请输入注册用户名:"); flag =u.setUserName(sc.next()); //用户名错误结束本次循环 if(flag) { continue; } System.out.println("请输入注册密码:"); flag=u.setPassword(sc.next()); //密码错误提示 if(flag) { System.out.println("请重新注册!"); } }while(flag); //创建开卡日期 Date date=new Date(); u.setOcd(date); //注册成功 map.put(u.getCardNum(), u); //把对象放入集合里 System.out.println("***恭喜开通会员卡成功,系统赠送您100积分,您的会员卡号:"+u.getCardNum()+"***"); } /** * 积分累计 */ public void shop(User u) { System.out.println("请输入您此次消费金额(消费一元累计一积分):"); try { int buy=sc.nextInt(); if(buy<=0) { System.out.println("***输入错误,积分累计失败!***"); }else { System.out.println("***积分累计成功!***"); u.setIntegral(u.getIntegral()+buy); //积分加上输入的金钱积分 } System.out.println("***积分总计:"+u.getIntegral()+"***"); }catch(InputMismatchException e) { System.err.println("***输入不是数字!累计积分失败!***"); } } /** * 积分兑换 */ public void toUse(User u) { System.out.println("请输入您需要兑换的积分(100积分抵用0.1元,不足100的积分不做抵用):"); try { int use=sc.nextInt(); if(use>u.getIntegral()) { System.out.println("***积分余额不足积分兑换失败***"); }else if(use>=100) { u.setIntegral(u.getIntegral()-use); //积分减输入的金钱积分 System.out.println("您的消费金额中使用会员积分抵消:"+(use/100f)+"元"); System.out.println("剩余积分总计:"+u.getIntegral()); }else if(use<100) { System.out.println("兑换的积分不足100,兑换失败!"); } }catch(InputMismatchException e) { System.err.println("***输入不是数字!积分兑换失败!***"); } } /** * 查询剩余积分 */ public void show(User u) { System.out.println("用户名\t\t会员卡号\t\t剩余积分\t\t开卡日期"); System.out.print(u.getUserName()+"\t\t"+u.getCardNum()); System.out.println("\t"+u.getIntegral()+"\t\t"+sdf.format(u.getOcd())); } /** * 修改密码 */ public boolean revamp(User u) { boolean flag=false; System.out.println("请输入您的会员卡号:"); int cardNum=0; try { cardNum=sc.nextInt(); }catch(InputMismatchException e) { System.err.println("卡号非法输入"); } System.out.println("请输入您的密码:"); String password=sc.next(); if(cardNum==u.getCardNum()&&password.equals(u.getPassword())) { System.out.println("请输入新的会员密码:"); if(!u.setPassword(sc.next())) { System.out.println("密码修改成功!"); flag=true; }else { System.out.println("密码修改失败!"); flag=false; } }else { System.out.println("***您输入的会员卡号或密码错误,无法修改***"); flag=false; } return flag; } }
测试类
package com.member; /** * 超市会员管理系统测试类 * @author Administrator * */ public class MemberTest { public static void main(String[] args) { //创建会员对象 Member member=new Member(); //调用超市会员系统 member.start(); } }
运行