模拟新浪微博用户注册

模拟新浪微博用户注册

1初始化界面

package 任务2;

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

public class UserRegister {
     
 public static HashSet<User> USER_DATA=new HashSet<User>();//数据类型
 public static void main(String[] args) {
     
	initData();//初始化人元信息
	
	Scanner scan=new Scanner(System.in);
	System.out.println("请输入用户名:");
	String userName = scan.nextLine();
	
	System.out.println("请输入密码密码:");
	String password =scan.nextLine();
	
	System.out.println("请重复输入密码:");
	String repassword =scan.nextLine();
	
	System.out.println("出生日期:");
	String birthday =scan.nextLine();
	
	System.out.println("手机号码:");
	String telNumber=scan.nextLine();
	
	System.out.println("手机邮箱");
	String email =scan.nextLine();
	//校验用户信息,返回登陆状态信息
	CheckInfo checkInfo =new CheckInfo(USER_DATA);
	String rsult=checkInfo.checkAction(userName,password,
			repassword,birthday,telNumber,email);
	System.out.println("注册结果"+rsult);
}
 //初始化数据,创建两个存在的用户信息
private static void initData() {
     
	// TODO Auto-generated method stub
    User user1=new User("张正","zz,123",new Date(),"18810319240","[email protected]");
    User user2=new User("周琦","zz,123",new Date(),"18618121193","[email protected]");
    USER_DATA.add(user1);
    USER_DATA.add(user2);
}
}

2、数据封装和重写

package 任务2;

import java.util.Date;

public class User {
     
	private String userName;// 用户名
	private String password;// 密码
	private Date birthday;// 生日密码
	private String telNumber;// 手机号码
	private String email;

	public User() {
     
		super();
		// TODO Auto-generated constructor stub
	}
	public User(String userName, String password, Date birthday, String telNumber, String email) {
     
		super();
		this.userName = userName;
		this.password = password;
		this.birthday = birthday;
		this.telNumber = telNumber;
		this.email = email;
	}

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

	@Override
	public 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 (userName == null) {
     
			if (other.userName != null)
				return false;
		} else if (!userName.equals(other.userName))
			return false;
		return true;
	}

}

3、数据校验

package 任务2;

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

public class CheckInfo {
     
	public static HashSet<User> USER_DATA = new HashSet<User>();// 用户数据

	public CheckInfo(HashSet<User> USER_DATA) {
     // 导入集合
		// TODO Auto-generated constructor stub
		this.USER_DATA = USER_DATA;
	}

	// 校验用户信息,返回登陆状态信息;
	public String checkAction(String userName, String password, String repassword, String birthday, String telNumber,
			String email) {
     
		// TODO Auto-generated method stub
		StringBuilder result = new StringBuilder();
		// 1代表注册成功, 2代表失败
		int state = 1;
		// 密码判断
		if (!password.equals(repassword)) {
     
			result.append("两次密码输入不一致!\r\n");
			state = 2;
		}
//		生日判断 2000-11-39
		if (birthday.length() != 10) {
     
			result.append("生日格式输入错误!\r\n");
			state = 2;
		} else {
     
			for (int i = 0; i < birthday.length(); i++) {
     
				Character thisChar = birthday.charAt(i);
				if (i == 4 || i == 7) {
     
					if (!(thisChar == '-')) {
     
						result.append("生日格式输入错误\r\n");
						state = 2;
					      } 
				        }
					else {
     
						if (!(Character.isDigit(thisChar))) {
     
							result.append("生日输入格式错误\r\n");
							state = 2;
						
					}
				}
			}
			if(telNumber.length()!=11) {
     
				result.append("手机号码长度不等于11\r\n");
				state=2;
			}else if(!(telNumber.startsWith("13")||
					telNumber.startsWith("15")||
					telNumber.startsWith("17")||telNumber.startsWith("18"))){
     
				result.append("手机号码不正确\r\n");
				state =2;
			}
			//邮箱判断
			if(!email.contains("@")) {
     
				result.append("邮箱输入不正确\r\n");
				state=2;
			}
			//如果以上信息都正确验无误,则将新用户加入集合
			if(state==1) {
     
				//格式化日期返回Date对象
				DateFormat format=new SimpleDateFormat("yyyy-MM-dd");
				Date dateBirthday =null;
				try {
     
					dateBirthday =format.parse(birthday) ;
				} catch (ParseException e) {
     
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			    User newUser=new User(userName,repassword,
			    		dateBirthday,telNumber,email);
			    if(!(USER_DATA.add(newUser))) {
     
			    	result.append("用户重复");
			    	state=2;
			    }if(state==1) {
     
			    	result.append("注册成功");
			    }
			}
		}
		return result.toString();
	}

}

你可能感兴趣的:(java基础案例,java)