java模拟新浪微博用户注册

本文介绍如何使用Java编写一个模拟新浪微博用户注册的程序,通过HashSet存储数据,确保用户输入信息正确且避免重复注册。程序包括用户类、注册类和信息检验类,通过Scanner获取用户输入并进行格式校验,最后判断用户名是否已存在,实现注册功能。
摘要由CSDN通过智能技术生成

1.学会分析"模拟新浪微博用户注册"程序的实现思路
2.根据思路独立完成"模拟新浪微博用户注册"程序源代码的编写、编译及运行
3.掌握Hashset存储数据的流程
要求:
编写一个模拟新浪微博用户注册的程序,要求使用hashset集合实现。假设当用户输入用户名、密码、确认密码、生日(输入格式为yyyy-MM-dd)、手机号(手机号长度为11位),并且以13,15,17或18为开头的手机号为正确、邮箱(包含符号@为正确信息)之后,判断信息输入是否正确,正确验证用户是否重复注册,如果不是重复注册则注册成功,例如用户信息列表中已经存在用户张正。当张正再次注册时,则输出注册结果用户重复。
二、实验原理(图):
(1)为了便于存储用户信息,需要创建一个用户类,在类中重写其中的HashCode()方法,令其返回用户名的哈希值,再重写equals()方法,来比较对象的用户名属性是否相等。
(2)有了用户类之后,再需要1一个用户注册类来模拟注册信息,该类中可以用HashSet集合来创建一个数据列表,然后向列表中添加两条初始注册信息。
(3)从控制台获取用户填写信息,可以通过Scanner类的nextLine()方法来实现,获取后,需要将获取的信息校验。
(4)校验信息可以创建一个检验类,在类中实现用户输入的信息的方法。检验结束后,如果检验结果错误就直接返回错误信息,这里可以声明一个检验结果变量和一个检验状态变量。检验结果变量用于存储提示信息,检验状态变量用于存储结果的判断标识。
(5)当用户输入的信息不满足格式时,需要修改变量1状态并存储错误信息。
(6)判断校验状态,如果所有信息都通过校验,则将用户信息创建成为用户对象,通过将对象添加到用户列表返回结果来判断用户名是否重复,并记录下返回结果信息。
在这里插入图片描述

package 模拟新浪微博注册;
public class User {
   
	 //用户名
	 private String userName;
	 //用户密码
    private String pwd;
    //生日
    private String birthday;
    //手机号
    private String telNumber;
    //邮箱
    private String email;
    
    //扩展属性:确认密码
	 private String rePwd;
  //有参构造函数
	public User(String userName,String pwd,String date,String telNumber,String email)
	{
   
		setUserName(userName);
		setPwd(pwd);
		setBirthday(date);
		setTelNumber(telNumber);
		setEmail(email);
	}
	//无参构造函数
	public User() {
   
			}
    //属性访问器
  	  //重写toString()方法进行用户信息输出
  		public String toString(){
   
  			 return "用户信息:\r姓名:"+getUserName()+"\r生日:"
  		   +getBirthday()+"\r邮箱:"+getEmail()+"\r手机号:"+getTelNumber()+"\r用户密码:"+getPwd();
  		}
public String getUserName() {
   
			return userName;
		}
		public void setUserName(String userName) {
   
			this.userName = userName;
		}
		public String getPwd() {
   
			return pwd;
		}
		public void setPwd(String pwd) {
   
			this.pwd = pwd;
		}
		public String getBirthday() {
   
			return birthday;
		}
		public void setBirthday(String birthday) {
   
			this.birthday = birthday;
		}
		public String getTelNumber() {
   
			return telNumber;
		}
		public void setTelNumber(String telNumber) {
   
			this.telNumber = telNumber;
		}
		public String getEmail() {
   
			return email;
		}
		public void setEmail(String email) {
   
			this.email = email;
		}
		public String getRePwd() {
   
			return rePwd;
		}
		public void setRePwd(String rePwd) {
   
			this.rePwd = rePwd;
		}
			//重写hashCode方法
  			public int hashCode(){
   
  				return userName.hashCode(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

F__lower

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值