快捷导航

利用集合实现注册登录,如何遍历集合,判断对错。

package Menu;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.Scanner;public class UserDao { //用户的数据都储存到该集合中 private static ArrayList users =new ArrayList(); //注册 public void reg() {  Scanner scanner =new Scanner(System.in);  String userName =null;  while(true) {   System.out.println("请输入用户名:");   userName =scanner.next();   //用户名首位不能以数字开头, 6位英文字母与数组组成   if(userName.matches("[a-zA-Z][a-zA-Z0-9]{5}")){   break;   }else{     System.out.println("用户名不符合规则");   } } String password =null; while(true) {  System.out.println("请输入密码:");  password = scanner.next();  if(password.matches("\\d{6}")) {   break;  }else {   System.out.println("密码不符合规则");  } } //使用新注册的信息生产一个用户对象 User user =new User(userName,password); users.add(user); System.out.println("注册功能..."); System.out.println("当前用户有:"+users); } //登录 public void login() {      while(true) {       Scanner scanner =new Scanner(System.in);    System.out.println("请输入用户名:");  String userName =scanner.next();  if(users.contains(new User(userName,null))) {      System.out.println("请输入密码:");  Scanner scanner1 = new Scanner(System.in);  String password = scanner1.next();    Iterator it = users.iterator();  while(it.hasNext()) {    User u = (User) it.next();    if(password.equals(u.getPassword())) {         System.out.println("登录成功,欢迎登录图书管理系统!"); break;        }  }    }else {  System.out.println("用户名不存在,请重新输入"); } }  }}

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

//if(users.contains(newUser(userName,null))){这里有问题,你这条代码应该是想判断登陆时候输入的用户是否存在与list里面,但是这条语句写得不对,上面那句话底层是 new user().equals(user)~~,这样子肯定比较不了的。
你可以试试这样,循环这个List users 然后拿它里面的每一个user的userName 和登陆输入的比较~~
即:
intflag=0;//标记是否匹配成功for(Useruser:users){if(user.getUserName.equals(userName)){//就是存在啦//然后比较密码if(user.getPassword().equals(password)){//就是密码正确啦flag=1;//既然正确了,那下面就不用继续比较下去了,break即可}}}if(flag==0){//如果遍历完了还是没有,那就不存在啦}else{//匹配成功咯}
回复

使用道具 举报

或者在User类里面,重写equals方法~~
回复

使用道具 举报

可能感兴趣的问答

发新帖
TA的信息
  • 会员所属: 注册会员
  • 认证信息: 邮箱认证手机认证
  • 微信访问
  • 手机APP