模拟用户注册
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;
}
}
}
本文介绍了使用Java编程实现模拟用户注册的过程,包括User类的设计、管理系统的操作以及验证系统的功能。
4445

被折叠的 条评论
为什么被折叠?



