package com.cn.collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Scanner;
/**
* Author:Liu Zhiyong
* Version:Version_1
* Date:2016年7月9日14:15:48
* Desc:使用集合实现注册登陆功能
*第一步: 提示用户选择功能, A(注册) B(登陆) 。 要求: 功能选择 的时候要忽略大小写。
*注册:
* 1. 提示用户输入注册的账号(数字)与密码,如果输入的账号号已经存在集合中,提示用户重新输入。 注册完毕之后,把集合中的所有用户信息打印出来。(使用:toArrry()方法)
*登陆:
* 提示用户输入登陆的账号与密码,如果账号与密码这个用户已经存在集合中,那么登陆成功,否则登陆失败。
*/
class User{
int count;
String password;
public User(int count, String password) {
this.count = count;
this.password = password;
}
@Override
public boolean equals(Object obj) {
User user = (User)obj;

return this.count == user.count;
}

@Override
public int hashCode() {
return this.count;
}

@Override
public String toString() {
return this.count + " " + this.password;
}

public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}
public class Demo4 {
static Collection users = new ArrayList();
static Scanner sc = new Scanner(System.in);

public static void main(String[] args) {
while(true){
System.out.println("请选择功能 A(注册) B(登陆)");
String opt = sc.next();
if("A".equalsIgnoreCase(opt)){
register();
}else if("b".equalsIgnoreCase(opt)){
login();
}else{
System.out.println("您的选择有误,请重新输入。。。");
}
}
}
public static void login() {
System.out.println("您选择了登陆功能。。。");
System.out.println("请输入账号:");
int count = sc.nextInt();
System.out.println("请输入密码:");
String password = sc.next();
//判断集合的用户是否存在该用户名和密码
//遍历集合的元素,查看是否存在该用户信息
Iterator it = users.iterator();
boolean isLogin = false;//定义一个变量用于记录是否登陆成功,默认是没有登陆成功
while(it.hasNext()){
User user = (User)it.next();
if(user.getCount()== count && user.getPassword().equals(password)){
isLogin = true;
break;
}
}
if(isLogin){
System.out.println("恭喜" + count + "登陆成功。。。");
}else{
System.out.println("用户名或者密码错误。登陆失败。。");
}
}
public static void register() {
System.out.println("您选择了注册功能。。。");
User user = null;
while(true){
System.out.println("请输入账号:");
int count = sc.nextInt();
user = new User(count, null);
if(users.contains(user)){//contains底层依赖了equals方法,所以得重写equals方法
//如果存在
System.out.println("该账号已存在。。请重新输入账号。。。");
}else{//不存在
break;
}
}
System.out.println("请输入密码:");
String password = sc.next();
user.setPassword(password);
//user对象保存到集合中a
users.add(user);
System.out.println("注册成功。。。");
System.out.println("当前注册的会员");
System.out.println("====================================");
System.out.println(users);
System.out.println("====================================");
}
}