模拟用户注册

本文介绍了使用Java编程实现模拟用户注册的过程,包括User类的设计、管理系统的操作以及验证系统的功能。

模拟用户注册

User.java

package gather.sina;

public class User {
    private String username;
    private String password;
    private String birthday;
    private String phoneNumber;
    private String email;
    User(){
    }

    @Override
    public int hashCode() {
        return username.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if(this==obj)               //判断是否为同一个对象
        {
            return true;
        }
        if(!(obj instanceof User))//判断是否为User类型,如果不是Student类型返回false
        {
            return false;
        }
        User user=(User) obj;   //将obj转化为user类型
        boolean result=this.username.equals(user.username);
        return result;
    }

    public User(String username, String password, String birthday, String phoneNumber, String email) {
        this.username = username;
        this.password = password;
        this.birthday = birthday;
        this.phoneNumber = phoneNumber;
        this.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 String getBirthday() {
        return birthday;
    }

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

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getEmail() {
        return email;
    }

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

}

ManageSystem.java

package gather.sina;

import java.util.HashSet;
import java.util.Scanner;

public class ManageSystem {
    public static HashSet<User> users=new HashSet<User>();

    public static void main(String[] args) {
        User user1=new User("Tom","123","2000-01-01","18912345678","@");
        users.add(user1);
        String[] inputData=inputInfo();
        if(checkInfo(inputData)){
            saveInfo(inputData);
        }
    }
    //提示用户输入信息,并用把信息保存在字符串数组中
    static public String[] inputInfo() {
        String[] userData=new String[6];
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入用户名");
        userData[0]=scan.nextLine();

        System.out.println("请输入密码");
        userData[1]=scan.nextLine();

        System.out.println("请重复输入你的密码");
        userData[2]=scan.nextLine();

        System.out.println("请输入出生日期");
        userData[3]=scan.nextLine();

        System.out.println("请输入手机号码");
        userData[4]=scan.nextLine();

        System.out.println("请输入电子邮箱");
        userData[5]=scan.nextLine();

        return userData;
    }

    //用CheckSystem检验用户输入的信息是否正确
    static public boolean checkInfo(String[] userData){
        CheckSystem checkData=new CheckSystem();
        return checkData.checkInfo(userData);

    }

    //检验用户信息是否重复,如果没有重复,把用户的信息保存在HashSet集合里
    static public void saveInfo(String[] userdata) {
        User user=new User(userdata[0],userdata[1],userdata[3],userdata[4],userdata[5]);
        if(!users.add(user))
        {
            System.out.println("用户重复");
            return;
        }
        System.out.println("注册成功!");
    }
}

CheckSystem.java

package gather.sina;

public class CheckSystem {

    public boolean checkInfo(String[] userdata)
    {
        boolean result=true;
       if(!checkBirthday(userdata[3]))
           result=false;
       if(!checkPassword(userdata[1], userdata[2]))
           result=false;
       if(!checkPhoneNumber(userdata[4]))
           result=false;
        if(!checkMail(userdata[5]))
            result=false;
        return result;
    }

    //确认生日是否为yyyy-mm-dd
    public boolean checkBirthday(String birthday)
    {
        char[] number={'0','1','2','3','4','5','6','7','8','9'};
        char[] check=birthday.toCharArray();
        int stat=0;
        if(birthday.length()!=10)
        {
            System.out.println("长度不对");
            return false;
        }
        else {
            for(int i=0;i<10;i++)
            {
                if(i==4||i==7)
                {
                    if(check[i]!='-')
                        System.out.println("输入格式不正确,请按yyyy-mm-dd输入");
                }
                else
                    {
                    for(int j=0;j<10;j++)
                    {
                        if(number[j]==check[i])
                        {
                            stat=1;
                        }
                    }
                    if(stat==0)
                    {
                        System.out.println("数字"+check[i]+"不对");
                    }

                }
            }
        }
        return true;
    }

    //确认两次输入的密码是否一致
    public boolean checkPassword(String password,String repPassword)
    {
        if(password.equals(repPassword))
            return true;
        else {
            System.out.println("两次输入的密码不一致");
            return false;
        }
    }

    //确认电话号码长度是否为11位,且是否以13、15、17、18开头
    public boolean checkPhoneNumber(String PhoneNumber)
    {
        char[] check=PhoneNumber.toCharArray();
        if((check[0]=='1')&&(PhoneNumber.length()==11))
        {
            if((check[1]=='3')||(check[1]=='5')||(check[1]=='7')||(check[1]=='8'))
            {
                return true;
            }
        }
        System.out.println("请输入正确的电话号码");
        return false;
    }

    //确认邮箱是否为@
    public boolean checkMail(String email)
    {
        CharSequence ch="@";
        if(email.contains(ch))
        {
            return true;
        }else {
            System.out.println("邮箱无效");
            return false;
        }

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值