基于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

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

目录
相关文章
|
2月前
|
Java
Java数组的2个小案例(杨辉三角分析和商品管理增删改查)
Java数组的2个小案例(杨辉三角分析和商品管理增删改查)
46 4
|
3月前
|
NoSQL Redis
Redis11-----Sortedset类型,SortedSet底层是由数据树实现的,SortedSet删除同学,获取Amy同学分数,获取Rose同学排名,查询80分以下的学生,给Amy同学加2分
Redis11-----Sortedset类型,SortedSet底层是由数据树实现的,SortedSet删除同学,获取Amy同学分数,获取Rose同学排名,查询80分以下的学生,给Amy同学加2分
|
5月前
快邀请你的冤种朋友一起来学习顺序表的底层逻辑:ArrayList集合
快邀请你的冤种朋友一起来学习顺序表的底层逻辑:ArrayList集合
39 2
|
5月前
|
JavaScript
JQ完成模拟QQ好友分组案例(介绍JQ实现原理)
JQ完成模拟QQ好友分组案例(介绍JQ实现原理)
|
5月前
|
存储 Java
【Java基础】Collections集合概述和使用、ArrayList集合存储学生并排序及斗地主案例
【Java基础】Collections集合概述和使用、ArrayList集合存储学生并排序及斗地主案例
60 0
|
移动开发
微信h5扫码接口范例:使用localStorage防止扫码后表单其他内容丢失
微信h5扫码接口范例:使用localStorage防止扫码后表单其他内容丢失
130 0
|
算法 IDE 定位技术
基于社交网络的推荐--包括给用户推荐好友的原理及代码实现
基于社交网络的推荐--包括给用户推荐好友的原理及代码实现
235 0
如何实现世界排行榜功能
这应该是唯一的一篇如何在微信小游戏制作工具中实现世界排行榜功能的教程,超万字的图文教程,内容非常的详尽,能够帮助你在游戏中实现世界排行榜功能。这是一篇付费教程,但是能够帮助你节省很多很多的时间。所有的小蚂蚁的学员可以在知识拓展库中免费阅读这篇教程。
108 0
|
Java 测试技术 API
List集合避坑
在实际的业务开发中,我们通常会进行数组转List的操作,通常我们会使用Arrays.asList来进行转换 但是在转换基本类型的数组的时候,却出现转换的结果和我们想象的不一致。
99 0
|
小程序
抽奖活动小程序之随机选取中奖用户功能实现
抽奖活动小程序之随机选取中奖用户功能实现
抽奖活动小程序之随机选取中奖用户功能实现