zoukankan      html  css  js  c++  java
  • 集合练习:登录注册功能

    需求:

     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、登录	2、注册");
    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 }
    用户操作界面

    测试运行结果:

  • 相关阅读:
    window 删除文件提示指定的文件名无效或太长
    glib-2.40编译安装
    《Android权威编程指南(The Big Nerd Ranch Guide)(第二版)》12.4挑战练习
    Kotlin中when表达式的使用:超强的switch(KAD 13)
    Kotlin将Realm提升到更高层次
    Kotlin中的“忍者”函数 —— 理解泛型的能力(KAD 12)
    Kotlin中功能操作与集合(KAD 11)
    Kotlin的数据类:节省很多行代码(KAD 10)
    在Android中用Kotlin的Anko运行后台任务(KAD 09)
    Kotlin的扩展函数:扩展Android框架(KAD 08)
  • 原文地址:https://www.cnblogs.com/Dean-0/p/11254405.html
Copyright © 2011-2022 走看看