实现注册、登录功能。
某用户先注册,注册信息包括用户名、密码、个人格言。
然后使用注册的信息登录,如果登录成功,则显示个人信息;
某用户先注册,注册信息包括用户名、密码、个人格言。
然后使用注册的信息登录,如果登录成功,则显示个人信息;
否则显示“登录失败”。
代码示例:
package week5homeworks;
/**
*
* @author LYB
*用户类
*用于定义姓名、密码、手机号等的定义
*/
class User {
private String username;
private String password;
private String phonenum;
public User(String username, String password, String phonenum) {
super();
this.username = username;
this.password = password;
this.phonenum = phonenum;
}
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;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((password == null) ? 0 : password.hashCode());
result = prime * result + ((username == null) ? 0 : username.hashCode());
result = prime * result + ((phonenum == null) ? 0 : phonenum.hashCode());
return result;
}
@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 (password == null) {
if (other.password != null)
return false;
} else if (!password.equals(other.password))
return false;
if (username == null) {
if (other.username != null)
return false;
} else if (!username.equals(other.username))
return false;
return true;
}
public String getPhonenum() {
return phonenum;
}
public void setPhonenum(String phonenum) {
this.phonenum = phonenum;
}
}
package week5homeworks;
/**
*
* @author LYB
* 逻辑方法判断类
*用于判断姓名、手机号、密码验证的三个方法
*/
public class Logic {
public Logic(){
}
public static boolean method1(String username){
if(username.matches("\\w{8}")){
System.out.println("恭喜,用户名符合要求");
return true;
}else{
System.out.println("不符合要求,请重新输入8位数字或字母组成的姓名!");
}
return false;
}
public static boolean method2(String phonenum){
if(phonenum.matches("1\\d{10}")){
System.out.println("恭喜,手机号码符合要求");
}else{
System.out.println("不符合要求,请重新输入以1开头11位的数字!");
}
return false;
}
public static boolean method3(String password){
if(password.matches("\\w+{16}")){
System.out.println("恭喜,密码符合要求");
}else{
System.out.println("不符合要求,请输入由字母和数字组成的16位以内的字符!");
System.out.println("请重新输入密码:");
}
return false;
}
}
package week5homeworks;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
*
* @author LYB
*学生信息管理登陆系统
*/
public class StudentManage {
List<User> userList = new ArrayList<>();
List<Logic> logicList = new ArrayList<>();
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
StudentManage smManage = new StudentManage();
while (true) {
System.out.println("--------请选择操作--------\n\t1.用户登录\n\t2.用户注册\n\t3.退出");
System.out.println("-------------------------");
System.out.println("输入:");
String opString = sc.next();
switch (opString) {
case "1":
smManage.login();
break;
case "2":
smManage.regist();
break;
case "3":
System.exit(0);
break;
default:
System.out.println("输入错误");
break;
}
}
}
// user login
public void login() {
boolean flag1;
boolean flag2;
boolean flag3;
System.out.println("--------用户登录--------");
System.out.println("请输入用户名:");
String username = sc.next();
flag1 = Logic.method1(username);
// if(username.matches("\\w{8}")){
// System.out.println("恭喜,用户名符合要求");
// }else{
// System.out.println("不符合要求,请重新输入8位数字或字母组成的姓名!");
// System.out.println("请重新输入用户名:");
// String username1 = sc.next();
// }
System.out.println("请输入注册手机号:");
String phonenum = sc.next();
flag2 = Logic.method2(phonenum);
// if(phonenum.matches("1\\d{10}")){
// System.out.println("恭喜,手机号码符合要求");
// }else{
// System.out.println("不符合要求,请重新输入以1开头11位的数字!");
// System.out.println("请重新输入注册手机号:");
// String phonenum1 = sc.next();
// }
System.out.println("请输入密码:");
String password = sc.next();
flag3 = Logic.method3(password);
// if(password.matches("\\w+{16}")){
// System.out.println("恭喜,密码符合要求");
// }else{
// System.out.println("不符合要求,请输入由字母和数字组成的16位以内的字符!");
// System.out.println("请重新输入密码:");
// String password1 = sc.next();
// }
if (flag1 && flag2 && flag3 &&userList.contains(new User(username, password,phonenum))) {
System.out.println("登录成功");
} else {
System.out.println("用户名、手机号或密码错误,登录失败!");
}
}
// user regist
public void regist() {
System.out.println("--------用户注册--------");
boolean flag = true;
boolean flag4;
boolean flag5;
boolean flag6;
String username = "";
while (flag) {
System.out.println("请输入用户名:");
username = sc.next();
flag4 = Logic.method1(username);
// if(username.matches("\\w{8}")){
// System.out.println("恭喜,用户名符合要求");
// }else{
// System.out.println("不符合要求,请重新输入8位数字或字母组成的姓名!");
// System.out.println("请重新输入用户名:");
// String username1 = sc.next();
// }
if (userList.size() > 0) {
for (User user : userList) {
if (user.getUsername().equals(username)) {
flag = true;
System.out.println("Tips:用户名已存在,请重新输入!");
break;
} else {
flag = false;
}
}
}
else{
flag = false;
}
}
flag4 = Logic.method1(username);
System.out.println("请输入手机号:");
String phonenum = sc.next();
flag5 = Logic.method2(phonenum);
// if(phonenum.matches("1\\d{10}")){
// System.out.println("恭喜,手机号码符合要求");
// }else{
// System.out.println("不符合要求,请重新输入以1开头11位的数字!");
// System.out.println("请重新输入手机号:");
// String phonenum1 = sc.next();
// }
System.out.println("请输入密码:");
String password = sc.next();
flag6 = Logic.method3(password);
// if(password.matches("\\w+{16}")){
// System.out.println("恭喜,密码符合要求");
// }else{
// System.out.println("不符合要求,请输入由字母和数字组成的16位以内的字符!");
// System.out.println("请重新输入密码:");
// String password1 = sc.next();
// }
if(flag4 && flag5 && flag6){
System.out.println("恭喜注册成功!");
userList.add(new User(username, phonenum,password ));
}
}
}