基于HashSet集合完成的微博用户注册的案例

简介: 基于HashSet集合完成的微博用户注册的案例
步骤
1. 设计 用户的实体类
import java.util.Date;
import java.util.Objects;

public class User {
    // 用户名
    private String username;
    // 密码
    private String password;
    // 生日
    private Date birthday;
    // 手机号
    private String phone;
    // 邮箱
    private String email;

// 基于  IntellJ Idea 软件开发的快捷键:
    // Alt + Insert   Getter  And  Setter
    // Alt + Insert   equals  And  hashCode
    // Alt + Insert   toString


    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        User user = (User) o;
        return Objects.equals(username, user.username) &&
                Objects.equals(password, user.password) &&
                Objects.equals(birthday, user.birthday) &&
                Objects.equals(phone, user.phone) &&
                Objects.equals(email, user.email);
    }

    @Override
    public int hashCode() {
        return Objects.hash(username, password, birthday, phone, email);
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", birthday=" + birthday +
                ", phone='" + phone + '\'' +
                ", email='" + email + '\'' +
                '}';
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

2. 编写 注册用户 的测试类
import java.util.HashSet;
import java.util.Scanner;

public class UserRegister {

    static HashSet hs = new HashSet();

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入用户名:");
        String username = sc.nextLine();

        System.out.println("请输入密码:");
        String password = sc.nextLine();

        System.out.println("请重复输入密码:");
        String repassword = sc.nextLine();

        System.out.println("请输入出生日期:");
        String birthday = sc.nextLine();

        System.out.println("请输入手机号码:");
        String phone = sc.nextLine();

        System.out.println("请输入电子邮箱:");
        String email = sc.nextLine();


        CheckInfo ci = new CheckInfo();
        String sb = ci.checkInfo(username, password, repassword, birthday, phone, email);
        System.out.println("注册的结果是:" + sb);
    }
}

3. 编写 用户校验的 工具类

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;

public class CheckInfo {

    HashSet  hashSet = new HashSet();

    StringBuilder sb = new StringBuilder();
    int  status = 1 ; // 1 代表成功  2 代表 失败
    public String checkInfo(String username,String password,String repassword,String birthday,String phone, String email){
        // 生日的判断
        if (birthday.length() != 10){ //  1999-09-09
            sb.append("您填写的生日格式有误,请检查!");
            status = 2 ;
        }
        // 密码的判断
        if (!password.equals(repassword)){
            sb.append("两次密码填写不一样,请检查!");
            status = 2 ;
        }
        // 手机格式和开头号码的判断
        if (phone.length() != 11){ //  1999-09-09
            sb.append("您填写的手机号码格式有误,请检查!");
            status = 2 ;
        }else if (!(phone.startsWith("13") ||phone.startsWith("15") || phone.startsWith("17") || phone.startsWith("18") ) ){ //  1999-09-09
            sb.append("您填写的手机号码不正确,请检查!");
            status = 2 ;
        }
        // 邮箱的判断
        if (!email.contains("@")){
            sb.append("您填写的电子邮箱格式有误,请检查!");
            status = 2 ;
        }

        // 如果以上信息的校验都是无误  则可以将新用户加入到集合内
        if(status == 1){
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Date dateBirthday = null;

            try {
                dateBirthday = sdf.parse(birthday); //  字符串转为 日期类型 有可能出现错误、错误了 则执行catch内的代码 否则 不执行!
            } catch (ParseException e) {
                e.printStackTrace();// Stack  栈      数据结构与算法:  内存分析
            }
            // 创建user 对象  
            User user = new User();

      //  完成对象的内容封装
            user.setUsername(username);
            user.setPassword(repassword);
            user.setBirthday(dateBirthday);
            user.setPhone(phone);
            user.setEmail(email);
        }

        if (status == 1){
            sb.append("注册成功!");
        }
        return  sb.toString();
    }
}


4 运行程序:

在这里插入图片描述

请输入用户名:

张三

请输入密码:

1

请重复输入密码:

1

请输入出生日期:

1999-09-09

请输入手机号码:

14696963322

请输入电子邮箱:

369@qq.com

您填写的手机号码不正确,请检查!

目录
相关文章
|
3月前
|
Python
电商购物系统商品数据结构设置
电商购物系统商品数据结构设置
|
4月前
|
缓存
如何实现一个每日打卡签到功能
如何实现一个每日打卡签到功能
210 0
|
XML JSON 缓存
Java实现根据商品ID搜索抖音商品详情数据方法
Java实现根据商品ID搜索抖音商品详情数据方法
|
1月前
|
Java
Java数组的2个小案例(杨辉三角分析和商品管理增删改查)
Java数组的2个小案例(杨辉三角分析和商品管理增删改查)
44 4
|
2月前
|
NoSQL Redis
Redis11-----Sortedset类型,SortedSet底层是由数据树实现的,SortedSet删除同学,获取Amy同学分数,获取Rose同学排名,查询80分以下的学生,给Amy同学加2分
Redis11-----Sortedset类型,SortedSet底层是由数据树实现的,SortedSet删除同学,获取Amy同学分数,获取Rose同学排名,查询80分以下的学生,给Amy同学加2分
|
3月前
|
存储 Java 索引
JavaSE——集合框架二(3/6)-Map系列集合:概述、常用方法(认识Map集合,在什么情形下使用,Map集合体系,Map集合体系的特点)
JavaSE——集合框架二(3/6)-Map系列集合:概述、常用方法(认识Map集合,在什么情形下使用,Map集合体系,Map集合体系的特点)
52 1
|
4月前
|
Java
Java实现菜品上架与展示
该代码示例展示了如何在Java中实现菜品的上架和展示功能。`Food`类包含菜品的名称、价格和描述属性。`FoodOpertor`类管理菜品的ArrayList,提供添加菜品和浏览菜品的方法,用户通过命令行选择操作。`start()`方法循环显示菜单供用户选择,直到选择退出。`ArryListCase1`是主类,用于运行程序。实现结果包括菜品的上架和展示界面。
52 1
|
4月前
快邀请你的冤种朋友一起来学习顺序表的底层逻辑:ArrayList集合
快邀请你的冤种朋友一起来学习顺序表的底层逻辑:ArrayList集合
37 2
|
存储 Java 程序员
Java集合List介绍和去重方案
Java集合List介绍和去重方案
89 0
|
XML JSON 缓存
Java实现根据商品ID搜索抖音商品评论数据方法
Java实现根据商品ID搜索抖音商品评论数据方法