目录
要求
操作集合类,实现实现对多个用户信息的操作即添加用户(注册功能)、查找用户(登录功能)、修改用户(重置密码)等功能。
文件分布
摘要
输出结果
IUserDao.java
package com.demo;
import java.util.ArrayList;
import java.util.List;
public interface IUserDao {
abstract public void AddUser(int count6, List list,List list1,List list2,ArrayList student); //添加用户(注册功能)
abstract public void FindUser(int count6, List list,List list1,List list2,ArrayList student); //查找用户(登录功能)
abstract public void ResetPassword(int count6, List list,List list1,List list2); //用户(重置密码)
}
JavaBean.java
package com.demo;
public class JavaBean {
public String User;
public String Password;
public String ConfirmPassword;
public String Birthday;
public JavaBean(String user, String birthday) {
User = user;
Birthday = birthday;
}
public String getUser() {
return User;
}
public void setUser(String user) {
User = user;
}
public String getPassword() {
return Password;
}
public void setPassword(String password) {
Password = password;
}
public String getConfirmPassword() {
return ConfirmPassword;
}
public void setConfirmPassword(String confirmPassword) {
ConfirmPassword = confirmPassword;
}
public String getBirthday() {
return Birthday;
}
public void setBirthday(String birthday) {
Birthday = birthday;
}
@Override
public String toString() {
return " "+getUser()+" "+getBirthday();
}
}
UserDaoImpl.java
package com.demo;
import java.util.*;
public class UserDaoImpl implements IUserDao {
public static String UserName="空";
public static String Birthday="空";
public static String UserPassword;
public static String ConfirmPassword;
public int count1 = 0;
public int count2 = 0;
public int count3 = 0;
public int count4 = 0;
public int count5 = 0;
public String count7;
public void AddUser(int count6, List list,List list1,List list2,ArrayList student) { //添加用户(注册功能)
System.out.println("\n⩶⩶⩶⩶⩶⩶⩶⩶注册界面⩶⩶⩶⩶⩶⩶⩶⩶");
Scanner scanner1 = new Scanner(System.in);
System.out.print("请输入您的用户名称:");
UserName = "UserName"+count6;
// System.out.println(UserName);
UserName = scanner1.nextLine();
System.out.print("请输入您的用户生日:");
Birthday = "Birthday"+count6;
// System.out.println(Birthday);
Birthday = scanner1.nextLine();
student.add(UserName);
student.add(Birthday);
while (count1 <= 3) {
System.out.print("请输入用户密码:");
UserPassword = scanner1.nextLine();
int HaveIn4=list2.indexOf(UserPassword);
while (HaveIn4!=-1){
System.out.print("密码与他人重复,请输入另一个不同的用户密码:");
UserPassword = scanner1.nextLine();
HaveIn4=list2.indexOf(UserPassword);
}
System.out.print("请确认用户密码:");
ConfirmPassword = scanner1.nextLine();
if (ConfirmPassword.equals(UserPassword)) {
System.out.println("\n密码设置成功,请重新登录!");
System.out.println("正在跳转中,请稍后!");
FindUser(count6, list, list1,list2,student);
count1 =4;
} else {
System.out.println("密码前后设置不一致,请重新设置!");
count1 = count1 + 1;
}
}
}
public void FindUser(int count6, List list,List list1,List list2,ArrayList student) { //查找用户(登录功能)
//========================================================================================
// List集合元素采用迭代器遍历。
int HaveIn=list1.indexOf(UserName);
// System.out.println(HaveIn);
if(HaveIn==-1) {
count7 = "javaBean" + count6;
// System.out.println(count7);
JavaBean count7 = new JavaBean(UserName, Birthday);
list.add(count7);
}
//=====================
list1.add(UserName);
//=====================
//=====================
list2.add(UserPassword);
//=====================
while (count2 <= 3) {
System.out.println("****************登录界面*****************");
System.out.print("用户登录名:");
Scanner scanner2 = new Scanner(System.in);
String UserName2 = scanner2.nextLine();
int Have=list1.lastIndexOf(UserName2);
// System.out.println(Have);
if (Have!=-1) {
System.out.println("✔");
System.out.print("用户密码:");
String UserPassword2 = scanner2.nextLine();
int HaveIn3=list2.indexOf(UserPassword2);
if (HaveIn3!=-1) {
System.out.println("✔");
System.out.println("登陆成功!");
count2=4;
count1=4;
System.out.println("++++++++++++++用户登录信息+++++++++++++++");
System.out.println(" 姓名 生日");
// Iterator iterator = list.iterator(); //获取Iterator对象
// while(iterator.hasNext()){ //List集合元素采用迭代器遍历
// JavaBean ele=(JavaBean)iterator.next(); //输出集合中的元素
// System.out.println(ele);
// }
int count9=0;
for(Object o1:student){ //采用增强型for实现遍历
count9+=1;
System.out.print(" "+o1);
if(count9%2==0){
System.out.println();
}
}
System.out.println("\n+++++++++++++++++++++++++++++++++++++++");
System.out.println();
} else {
System.out.println("密码错误!请重新输入");
count2 = count2 + 1;
count3 = count3 + 1;
}
if(count3==4){
System.out.println("输入次数过多,请稍后再试");
}
} else {
System.out.print("查无此用户!请重新输入");
count2 =0;
}
System.out.println("\n");
}
}
public void ResetPassword(int count6,List list,List list1,List list2){ //用户(重置密码)
//========================================================================================
// List集合元素采用迭代器遍历。
JavaBean javaBean=new JavaBean(UserName,Birthday);
// list.add(javaBean);
// Iterator iterator=list.iterator(); //获取Iterator对象
while (count4 <= 3) {
System.out.println("================密码重置================");
System.out.print("用户登录名:");
Scanner scanner3 = new Scanner(System.in);
String UserName3 = scanner3.nextLine();
int Have=list1.indexOf(UserName3);
// System.out.println(Have);
if (Have!=-1) {
System.out.print("请输入旧的密码:");
String UserPassword3 = scanner3.nextLine();
int HaveIn2=list2.indexOf(UserPassword3);
// System.out.println(HaveIn2);
if (HaveIn2!=-1) {
System.out.print("验证通过,请输入新的密码:");
String UserPassword4 = scanner3.nextLine();
int HaveIn5=list2.indexOf(UserPassword4);
while (HaveIn5!=-1){
System.out.print("密码与他人重复,请输入另一个不同的用户密码:");
UserPassword4 = scanner3.nextLine();
HaveIn5=list2.indexOf(UserPassword4);
}
System.out.print("请确认用户新的密码:");
String UserPassword4Confirm = scanner3.nextLine();
if (UserPassword4Confirm.equals(UserPassword4)) {
list2.add(UserPassword4Confirm);
// UserPassword=UserPassword4Confirm;
System.out.println("已更换为新的密码!请重新登录!");
count2 =0;
count3 =0;
count4 =4;
count5 =1;
}else {
System.out.println("密码前后设置不一致,请重新设置!");
count4 = count4 + 1;
}
if(count4==4 && count5==0){
System.out.println("输入次数过多,请稍后再试");
}
}else{
System.out.println("旧密码验证不通过!请重新输入!");
}
}else {
System.out.print("查无此用户!请重新输入,注册账号请输入1,重新登录按任意键>>>");
}
}
}
}
TestUser.java
package com.demo.test;
import com.demo.JavaBean;
import com.demo.UserDaoImpl;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class TestUser{
public static void main(String[] args){
boolean open=true;
int count6 = 0;
List list=new ArrayList(); //创建List集合
List list1=new ArrayList(); //创建姓名本List集合
List list2=new ArrayList(); //创建密码本List集合
ArrayList student=new ArrayList(); //创建ArrayList集合
while (open){
System.out.println("--------------------------------------------------");
System.out.println("1.注册账号 2.登录账号 3.重置密码 0.退出");
System.out.println("--------------------------------------------------");
System.out.print("请选择要执行的操作(直接输入数字)>>>");
UserDaoImpl userDaoImpl1=new UserDaoImpl();
Scanner input=new Scanner(System.in);
int number=input.nextInt();
switch (number){
case 1:
count6=count6+1;
userDaoImpl1.AddUser(count6,list,list1,list2,student);
break;
case 2:
userDaoImpl1.FindUser(count6,list,list1,list2,student);
break;
case 3:
userDaoImpl1.ResetPassword(count6,list,list1,list2);
break;
case 0: //退出
open=false;
break;
}
}
}
}