超市会员管理系统

时间:2022-11-13 23:00:47

好难啊!还要再改!

————————————————————————————————————————————

超市会员管理系统要求
·系统菜单分为两级
一级菜单:登录、开卡、退出系统
二级菜单(登录之后):积分累积、积分兑换、积分查询、修改密码、退出登录

·开卡的账号不能重复

·验证用户名
用户名不能以数字开头,不能有特殊符号,用户名长度必须是3-6位之间
·验证密码
密码长度必须是6-16位之间,不能有中文、空格,验证密码强度:
纯数字、纯英文是低,数字+英文是中,数字+英文+特殊字符是高
·开卡时需要输入验证码,验证码不区分大小写

·输入积分、消费金额时,必须是数字,若不是数字重新输入

·修改密码如果是旧密码则提示修改失败,如果是新密码也要验证密码,并且修改成功后需要退出重新登录

·登录时,如果密码连续输入五次失败,则冻结当前账户

·登录时,有忘记密码提示,所以要求要实现密保问题验证,在忘记密码时能够找回密码

————————————————————————————————————————————————————

 1 package market;
 2 /**
 3  * 用户类
 4  * @author L
 5  *
 6  */
 7 public class User {
 8     private String id;
 9     private String account;
10     private String password;
11     private String phone;
12     private int code;//积分
13     private String problem;//密保问题
14     private String answer;//密保答案
15     
16     public User() {
17         // TODO Auto-generated constructor stub
18     }
19 
20     public User(String id, String account, String password, String phone, int code, String problem, String answer) {
21         super();
22         this.id = id;
23         this.account = account;
24         this.password = password;
25         this.phone = phone;
26         this.code = code;
27         this.problem = problem;
28         this.answer = answer;
29     }
30 
31     public String getId() {
32         return id;
33     }
34 
35     public void setId(String id) {
36         this.id = id;
37     } 
38 
39     public String getAccount() {
40         return account;
41     }
42 
43     public void setAccount(String account) {
44         this.account = account;
45     }
46 
47     public String getPassword() {
48         return password;
49     }
50 
51     public void setPassword(String password) {
52         this.password = password;
53     }
54 
55     public String getPhone() {
56         return phone;
57     }
58 
59     public void setPhone(String phone) {
60         this.phone = phone;
61     }
62 
63     public int getCode() {
64         return code;
65     }
66 
67     public void setCode(int code) {
68         this.code = code;
69     }
70 
71     public String getProblem() {
72         return problem;
73     }
74 
75     public void setProblem(String problem) {
76         this.problem = problem;
77     }
78 
79     public String getAnswer() {
80         return answer;
81     }
82 
83     public void setAnswer(String answer) {
84         this.answer = answer;
85     }
86     
87     
88 }

 

 1 package market;
 2 import java.util.Random;
 3 /**
 4  * 注册类
 5  */
 6 import java.util.Scanner;
 7 
 8 public class Register {
 9     static Scanner sc=new Scanner(System.in);
10     
11     public static void register() {
12         System.out.println("正在加载开卡系统……");
13         System.out.println("***欢迎进入注册系统***");
14         System.out.println("请输入用户名:");
15         String account=sc.next();
16         System.out.println("请输入密码:");
17         String password=sc.next();
18         while(getCode()) {
19             System.out.println("验证码输入有误!");
20         }
21         String id=getId();
22         System.out.println("根据密码问题,找回密码");
23         System.out.println();
24         
25     }
26     
27     //验证码
28     public static boolean getCode() {
29         String code=null;
30         String str="0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASFGHJKLZXCVBNM";
31         String[]strs=str.split("");
32         for(int i=0;i<6;i++) {
33             code+=strs[(int)(Math.random()*strs.length)];
34         }
35         System.out.println("请输入验证码:"+code);
36         String enterCode=sc.next();
37         if(enterCode.equals(code)) {
38             return false;
39         }
40         return true;
41     }
42     
43     //随机卡号
44     public static String getId() {
45         Random random=new Random();
46         StringBuffer sbf=null;
47         while(true) {
48             sbf=new StringBuffer();
49             for(int i=0;i<8;i++) {
50                 int num=random.nextInt(8);
51                 sbf.append(num);
52             }
53             if(MarketSystem.map.get(sbf)++null) {
54                 
55             }
56         }
57         
58     }
59 }

 

 1 package market;
 2 
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 import java.util.Scanner;
 6 
 7 public class MarketSystem {
 8     static Scanner sc=new Scanner(System.in);
 9     
10     static Map<String, User>map=new HashMap<String, User>();
11     static final int nums=5;//密码错误上限
12     static {
13         map.put("admin01", new User("12940328", "admin01", "12345600", "13800000000", 4, "昨天吃了啥?", "红烧肉"));
14         map.put("admin02", new User("37483903", "admin02", "12345600", "13800000000", 5, "昨天吃了啥?", "糖醋排骨"));
15         map.put("admin03", new User("12436898", "admin03", "12345600", "13800000000", 2, "昨天吃了啥?", "红烧鱼"));
16     }
17     
18     public static void main(String[] args) {
19         
20     }
21     
22     public static void Menu() {
23         System.out.println("***欢迎进入暴富超级大商场会员管理系统***");
24         System.out.println("1、登录\n"+"2、开卡\n"+"3、退出系统");
25         
26     }
27 }