第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

利用集合實(shí)現(xiàn)注冊登錄,如何遍歷集合,判斷對錯。

利用集合實(shí)現(xiàn)注冊登錄,如何遍歷集合,判斷對錯。

董壯 2018-12-17 10:09:17
package Menu;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.Scanner;public class UserDao {?? //用戶的數(shù)據(jù)都儲存到該集合中?? ?private static ArrayList<User> users =new ArrayList<User>();?? //注冊?? ?public void reg() {?? ??? ?Scanner scanner =new Scanner(System.in);?? ??? ?String userName =null;?? ??? ?while(true) {?? ??? ??? ?System.out.println("請輸入用戶名:");?? ??? ??? ?userName =scanner.next();?? ??? ??? ?//用戶名首位不能以數(shù)字開頭, 6位英文字母與數(shù)組組成?? ??? ??? ?if(userName.matches("[a-zA-Z][a-zA-Z0-9]{5}")){?? ??? ????????????? break;?? ??? ??? ?}else{?? ??? ??? ??? ? System.out.println("用戶名不符合規(guī)則");?? ??? ??? ?}?? ?}?? ?String password =null;?? ?while(true) {?? ??? ?System.out.println("請輸入密碼:");?? ??? ?password = scanner.next();?? ??? ?if(password.matches("\\d{6}")) {?? ??? ??? ?break;?? ??? ?}else {?? ??? ??? ?System.out.println("密碼不符合規(guī)則");?? ??? ?}?? ?}?? ?//使用新注冊的信息生產(chǎn)一個用戶對象?? ?User user =new User(userName,password);?? ?users.add(user);?? ?System.out.println("注冊功能...");?? ?System.out.println("當(dāng)前用戶有:"+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("登錄成功,歡迎登錄圖書管理系統(tǒng)!");??????????????????????? break;?? ??????? ??? ? ??? ??????? ??? ?? }?? ?????????? }?? ????????? ??? ?????????? }else {?? ????????? System.out.println("用戶名不存在,請重新輸入");????????? }?? ?} ??? ?}}
查看完整描述

3 回答

已采納
?
xixiyingyi

TA貢獻(xiàn)18條經(jīng)驗 獲得超19個贊

?//if(users.contains(new?User(userName,null)))?{

這里有問題,你這條代碼應(yīng)該是想判斷登陸時候輸入的用戶是否存在與list里面,但是這條語句寫得不對,上面那句話底層是? new user().equals(user)~~,這樣子肯定比較不了的。

你可以試試這樣,循環(huán)這個List<User> users? ?然后拿它里面的每一個user的userName 和登陸輸入的比較~~

即:

int?flag?=?0;//標(biāo)記是否匹配成功
for(User?user?:?users)?{
????if?(user.getUserName.equals(userName))?{
????????//就是存在啦
????????
????????//然后比較密碼
????????if?(user.getPassword().equals(password))?{
????????????//就是密碼正確啦
????????????flag?=?1;
????????????//既然正確了,那下面就不用繼續(xù)比較下去了,break?即可
????????}
????}
}
if?(flag?==?0)?{
????//如果遍歷完了還是沒有,那就不存在啦
}?else?{
????//匹配成功咯
}


查看完整回答
反對 回復(fù) 2018-12-19
?
xixiyingyi

TA貢獻(xiàn)18條經(jīng)驗 獲得超19個贊

或者在User類里面,重寫equals方法~~

查看完整回答
反對 回復(fù) 2018-12-19
  • 3 回答
  • 0 關(guān)注
  • 1121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號