第十四天:一个map集合存储数据的登录方式!
来源:互联网 发布:显卡驱动软件 编辑:程序博客网 时间:2024/05/04 09:32
1.验证方式:
package day02;import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.List;import java.util.Map;public class Accounter {Map<String,User> users=new HashMap<String,User>();public User Login(String email,String pwd) throws EmailOrPwdException{User u=users.get(email);if(u==null){throw new EmailOrPwdException("用户名不存在!");}if(!u.getPwd().equals(pwd)){throw new EmailOrPwdException("用户名或者密码错误!");}return u;}public User regist(String email,String pwd) throws EmailOrPwdException{int id=1;if(users.containsKey(email)){throw new EmailOrPwdException("用户名已经存在,请重新注册!");}User u=new User(id++,email,pwd);users.put(email, u);return u;}public List<User> finaAll(){//Set<Entry<String,User>> set=users.entrySet();Collection<User> coll=users.values();ArrayList<User> list=new ArrayList<User>(coll);return list;}}
2.user类
package day02;public class User {private int id;private String email;private String pwd;public User() {// TODO Auto-generated constructor stub}/** * @param id * @param email * @param pwd */public User(int id, String email, String pwd) {this.id = id;this.email = email;this.pwd = pwd;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((email == null) ? 0 : email.hashCode());result = prime * result + id;result = prime * result + ((pwd == null) ? 0 : pwd.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;User other = (User) obj;if (email == null) {if (other.email != null)return false;} else if (!email.equals(other.email))return false;if (id != other.id)return false;if (pwd == null) {if (other.pwd != null)return false;} else if (!pwd.equals(other.pwd))return false;return true;}@Overridepublic String toString() {return "User [id=" + id + ", email=" + email + ", pwd=" + pwd + "]";}}Demo测试
package day02;import java.util.Scanner;public class Demo {@SuppressWarnings({ "resource", "unused" })public static void main(String[] args) {Scanner s=new Scanner(System.in);Accounter counter=new Accounter();while(true){System.out.println("====注册系统=====");System.out.println("||1.注册用回||");System.out.println("||2.登录账号||");System.out.println("||3.查看用户||");System.out.println("||4.退出账号||");System.out.println("=================");System.out.println("请输出您要进行的操作:");int a=s.nextInt();if(a==1){System.out.println("请输入用户名+密码:");System.out.println("格式:账号+密码");String str=s.next();String[] message=str.split("[+,]");User u;try { u=counter.regist(message[0], message[1]);System.out.println("注册成功,请登录!");} catch (EmailOrPwdException e) {// TODO Auto-generated catch blockSystem.out.println("用户名已被注册,请重新注册!");continue;}System.out.println(counter.finaAll());System.out.println(u);}else if(a==2){
System.out.println("请输入账号+密码:");String str=s.next();String[] str1=str.split("[+,]");User u;try { u=counter.Login(str1[0], str1[1]); System.out.println("登录成功!");} catch (EmailOrPwdException e) {// TODO Auto-generated catch blockSystem.out.println("账号或者密码错误!");continue;}}else if(a==3){System.out.println(counter.finaAll());}else if(a==4){System.out.println("退出系统!");break;}else {System.out.println("输入有误,请再次输入!");continue;}}}}}自定义异常部分
package day02;public class EmailExistException extends Exception{public EmailExistException(){super();}public EmailExistException(String message,Throwable cause){super(message,cause);}public EmailExistException(String message){super(message);}public EmailExistException(Throwable cause){super(cause);}}@SuppressWarnings("serial")class EmailOrPwdException extends Exception{public EmailOrPwdException(){super();}public EmailOrPwdException(String message,Throwable cause){ super(message,cause);}public EmailOrPwdException(String message){super(message);}public EmailOrPwdException(Throwable cause){super(cause);}}
阅读全文
0 0
- 第十四天:一个map集合存储数据的登录方式!
- 第十四天java学习map的使用
- 第十四天:集合
- Map的存储方式
- Java基础第十四天--Map, HashMap, TreeMap
- Android用户登录数据存储的三种方式
- Android用户登录数据存储的三种方式
- Map集合的两种迭代方式
- Map集合的遍历方式
- Map集合的遍历方式
- Map集合的遍历方式
- Day14第十四天 java基础---------集合
- java第十四天_set集合,泛型
- 黑马程序员--第十四天:集合框架
- 黑马程序员-第十四天(集合框架)
- java基础第十四天 集合Collection
- 学习python的第十四天
- 获取Map集合的数据
- .NET自定义错误页面
- JPEG 及MJPEG开发笔记
- “一带一路”与中俄联合制造C929大飞机
- Jdbc回顾NO.1
- Entity Framework中Unity Work类在Repository类中的作用
- 第十四天:一个map集合存储数据的登录方式!
- C++ 控制台cin无法输入
- smarty局部缓存,报错 Notice: Undefined index: data Notice: Trying to get property of non-object
- 重温经典第三弹(xdoj1069)
- java中File类的使用方法
- 版本管理工具介绍——SVN篇(一)
- 21 QAudioOutput放音的坑与解决方法
- Asp.Net中WebForm与MVC,Web API模式对比
- 第15章 使用远程服务