模拟新浪微博用户注册

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 users=new HashSet();

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模拟新浪微博_Java模拟新浪微博用户注册相关推荐

  1. java 模拟时钟_java模拟时钟

    本次课程设计采用时间片轮转调度算法来实现模拟进程调度任务的执行过 程. 用 Java 模拟进程调度过程,可以方便地将运行结果直观地表示出来.Java 语言 独有的多...... 本次课程设计采用时间片 ...

  2. java模拟新浪微博_Java模拟新浪微博登陆抓取数据

    前言: 兄弟们来了来了,最近有人在问如何模拟新浪微博登陆抓取数据,我听后默默地抽了一口老烟,暗暗的对自己说,老汉是时候该你出场了,所以今天有时间就整理整理,浅谈一二. 首先: 要想登陆新浪微博需要预登 ...

  3. JAVA客户端数据传输_java模拟TCP通信实现客户端上传文件到服务器端

    java模拟TCP通信实现客户端上传文件到服务器端,供大家参考,具体内容如下 客户端 package com.zr; import java.io.FileInputStream; import ja ...

  4. java 模拟电梯_java模拟电梯运行简单实现,swing界面

    每次只能一个人,,,功能不全 import javax.swing.*; import java.awt.*; import java.util.*; public class Hufan exten ...

  5. java鼠标事件_Java 模拟鼠标事件

    导读热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. @H_502_5@/** * Clicks in a given area of ...

  6. java抽奖程序_java模拟一个抽奖程序

    今天用一个程序模拟一个从1-32之间,随机抽取7组号码的抽奖程序 * 需要使用Java的图形界面知识 * 窗口  JFrame * 面板  JPanel * 显示文本信息的标签  JLabel * 文 ...

  7. java 批量处理_Java模拟数据量过大时批量处理数据的两种实现方法

    方法一: 代码如下: import java.util.ArrayList; import java.util.List; /** * 模拟批量处理数据(一) * 当数据量过大过多导致超时等问题可以将 ...

  8. java打架游戏_java模拟游戏打斗场景摘要.doc

    java模拟游戏打斗场景摘要.doc //游戏人物属性模型 package dahuaxiyou; public class Immortal { public String name; public ...

  9. java小车赛跑_Java模拟赛跑过程

    Java并发面试中的一个经典问题--手写代码模拟赛跑过程.该问题考查CountDownLatch的用法,比Java实现生产者-消费者模型的考查更直接: 对Java并发模型的理解 对Java并发编程接口 ...

最新文章

  1. HTTP Server开发相关学习资料整理推介
  2. 【计算机网络】传输层 : TCP 可靠传输 ( 可靠传输机制 | 快速重传机制 )
  3. openssl之BIO系列之1---抽象的IO接口
  4. 设计模式的理解:构造器模式(Builder Pattern)
  5. wxWidgets:wxGraphicsContext类用法
  6. Python3解决UnicodeDecodeError:'utf-8' codec can't decode byte..问题终极解决方案
  7. C++描述杭电OJ 2000. ASCII码排序 ||
  8. 查询链接服务器信息,SQL Server链接服务器
  9. Java普通类获取Spring框架Bean 的五种方法
  10. ExtAspNet公司项目截图
  11. phpstudy mysql 漏洞_phpstudy后门漏洞复现php5.2
  12. Window OS-拾贝
  13. VMware虚拟机快速安装Ubuntu教程
  14. Mac解决Error: No such file or directory @ rb_sysopen报错问题
  15. 正方形面积圆形面积Java
  16. 学法减分助手PRO小程序源码
  17. 精灵的移动效果,旋转效果
  18. 基于历史对比学习的时序知识图谱推理
  19. 初识HTML,最基础走起~
  20. TI 评级报告 | RAI Finance:B,展望正面

热门文章

  1. SM-G9008V Root,google框架安装 设置开发者模式
  2. PTA - 数据库合集21
  3. 频谱 功率谱 功率谱密度
  4. 远程连接服务器---SSH详解
  5. 6种最常用恒流源电路的分析与比较
  6. StatusBar浅析
  7. orcal复习及作业
  8. 4.R语言【dplyr包】使用方法
  9. CLion等JetBrains IDE学生认证免费使用流程
  10. ddd+kgdb调试内核