1.需求:使用集合實現註冊登陸功能。
(1) 第一步:提示用戶選擇功能,A(註冊) B(登陸) 。 要求: 功能選擇 的時候要忽略大小寫。
(1) 第二步:註冊
提示用戶輸入註冊的賬號(數字)與密碼,如果輸入賬號已經存在集合中,提示用戶重新輸入。 註冊完畢之後,把集合中的所有用戶信息打印出來。(使用:toArrry()方法)
(3) 第三步:登陸:
提示用戶輸入登陸的賬號與密碼,如果賬號與密碼這個用戶已經存在集合中,那麼登陸成功,否則登陸失敗。
2.實例:
class User{
int id; //賬號
String password; //密碼
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User(int id, String password) {
this.id = id;
this.password = password;
}
@Override
public boolean equals(Object obj) {
User user = (User)obj;
return this.id==user.id;
}
@Override
public String toString() {
return "{ 賬號:"+this.id+" 密碼:"+this.password+"}";
}
}
public class Demo1 {
static Scanner scanner = new Scanner(System.in);
static Collection users = new ArrayList(); //使用該集合保存所有的用戶信息..
public static void main(String[] args) {
while(true){
System.out.println("請選擇功能 A(註冊 ) B(登陸)");
String option = scanner.next();
if("a".equalsIgnoreCase(option)){
reg();
}else if("b".equalsIgnoreCase(option)){
login();
}else{
System.out.println("你的選擇有誤,請重新輸入");
}
}
}
public static void login() {
System.out.println("請輸入賬號:");
int id = scanner.nextInt();
System.out.println("請輸入密碼:");
String password = scanner.next();
//判斷集合的用戶是否存在該用戶名與密碼
//遍歷集合的元素,查看是否存在該用戶信息
boolean isLogin = false; //定義變量用於記錄是否登陸成功的信息 , 默認是沒有登陸成功的
Iterator it = users.iterator();
while(it.hasNext()){
User user = (User) it.next();
if(user.id==id&&user.password.equals(password)){
//存在該用戶信息,登陸成功...
isLogin = true;
}
}
if(isLogin==true){
System.out.println("歡迎登陸...");
}else{
System.out.println("用戶名或者密碼錯誤,登陸失敗...");
}
}
public static void reg() {
User user = null;
while(true){
System.out.println("請輸入賬號:");
int id = scanner.nextInt();
user = new User(id,null);
if(users.contains(user)){ // contains底層依賴了equals方法。
//如果存在
System.out.println("該賬號已經存在,請重新輸入賬號");
}else{
//不存在
break;
}
}
System.out.println("請輸入密碼:");
String password = scanner.next();
user.setPassword(password);
//把user對象保存到集合中
users.add(user);
System.out.println("註冊成功!");
System.out.println("當前註冊的人員:"+users);
}
}
3.運行結果: