集合练习:登录注册功能

需求:

 1、登录账号唯一,在注册时验证输入的账号是否可用,若已存在,则不可用,若不存在则可用
 2、登录时使用账号密码进行验证
 1 /**
 2  * @author Administrator
 3  *    登录信息    
 4  */
 5 public class UserLogin {
 6     private String UserName;
 7     private String PassWord;
 8     
 9     
10     public UserLogin() {
11         super();
12     }
13     public UserLogin(String userName, String passWord) {
14         super();
15         UserName = userName;
16         PassWord = passWord;
17     }
18     public String getUserName() {
19         return UserName;
20     }
21     public void setUserName(String userName) {
22         UserName = userName;
23     }
24     public String getPassWord() {
25         return PassWord;
26     }
27     public void setPassWord(String passWord) {
28         PassWord = passWord;
29     }
30 }
登录信息
 1 import java.util.HashMap;
 2 import java.util.Map;
 3 import java.util.Set;
 4 
 5 /**
 6  * @author Administrator
 7  *    初始化登录信息以及编写注册和登录验证功能
 8  */
 9 public class UserInit {
10     static Map<String, UserLogin> map;
11     //静态代码块初始化用户信息
12     static {
13         map = new HashMap<>();
14         UserLogin userLogin1 = new UserLogin("Dean", "123456");
15         UserLogin userLogin2 = new UserLogin("Tom", "123456");
16         UserLogin userLogin3 = new UserLogin("Jack", "123456");
17         map.put(userLogin1.getUserName(), userLogin1);
18         map.put(userLogin2.getUserName(), userLogin2);
19         map.put(userLogin3.getUserName(), userLogin3);
20     }
21     
22     //注册验证功能
23     public boolean Judge(String name,String password,String apassword) {
24         Set<String> keys = map.keySet();
25         for(String s:keys) {
26             if(map.get(s).getUserName().equals(name)) {
27                 System.out.println("用户名已存在!");
28                 return false;
29             }
30         }
31         if(password.equals(apassword)) {
32             System.out.println("注册成功!");
33             return true;
34         }else {
35             System.out.println("两次输入密码不一致,请重新输入!");
36             return false;
37         }
38         
39     }
40     
41     
42     //登录验证功能
43     public boolean login(String name,String password) {
44         Set<String> keys = map.keySet();
45         for(String s:keys) {
46             if(map.get(s).getUserName().equals(name)) {
47                 if((map.get(s).getPassWord().equals(password))) {
48                     System.out.println("登录成功!");
49                     return true;
50                 }else {
51                     System.out.println("用户名或密码不正确!请重新登录!");
52                     return false;
53                 }
54             }
55         }
56         System.out.println("用户不存在,请重试输入!");
57         return false;
58     }
59 }
初始化登录信息以及编写注册和登录验证功能
 1 import java.util.Scanner;
 2 
 3 /**
 4  * @author Administrator
 5  *    用户操作界面
 6  */
 7 public class LoginMap {
 8     static Scanner input = new Scanner(System.in);
 9     UserInit userinit = new UserInit();
10     boolean flag;
11     public static void main(String[] args) {
12         LoginMap login = new LoginMap();
13         System.out.println("请选择操作:1、登录\t2、注册");
14         int i = input.nextInt();
15         switch (i) {
16         case 1:
17             login.userLogin();
18             break;
19         case 2:
20             login.userEnrol();
21             break;
22         default:
23             System.out.println("感谢使用!");
24             break;
25         }
26     }
27     
28     //注册
29     public void userEnrol() {
30         
31         do {
32             System.out.println("——————————用户注册——————————");
33             System.out.println("请输入注册账号名:");
34             String name = input.next();
35             System.out.println("请输入登录密码:");
36             String password = input.next();
37             System.out.println("请再次确认密码:");
38             String apassword = input.next();
39             flag = userinit.Judge(name, password, apassword);
40         }while(!false);
41         
42     }
43     
44     //登录
45     public void userLogin() {
46         do {
47             System.out.println("——————————用户登录——————————");
48             System.out.println("请输入登录账号名:");
49             String name = input.next();
50             System.out.println("请输入登录密码:");
51             String password = input.next();
52             flag = userinit.login(name, password);
53         }while(!flag);
54         
55     }
56 }
用户操作界面

测试运行结果:

猜你喜欢

转载自www.cnblogs.com/Dean-0/p/11254405.html