您的位置:首页 > 其它

集合之Collection实例——登录注册功能

2016-12-13 10:46 225 查看
实现登录注册功能:

一、需求:

使用集合实现注册登陆功能:

第一步: 提示用户选择功能, A(注册) B(登陆) 。

要求: 功能选择 的时候要忽略大小写。

第二步:注册:

1、提示用户输入注册的账号(数字)与密码,如果输入账号已经存在集合中,提示用户重新输入。

2、注册完毕之后,把集合中的所有用户信息打印出来。

第三步:登陆:

提示用户输入登陆的账号与密码,如果账号与密码这个用户已经存在集合中,那么登陆成功,否则登陆失败。

二、代码实现:

1、用户实体类:

class User{
private int usernumber;//账号
private String password;//密码
public int getUsernumber() {
return usernumber;
}
public void setUsernumber(int usernumber) {
this.usernumber = usernumber;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User() {
super();
}
public User(int usernumber, String password) {
super();
this.usernumber = usernumber;
this.password = password;
}
public boolean equals(Object obj){
User user = (User)obj;
return user.usernumber == usernumber;
}
@Override
public String toString() {
return "User [usernumber=" + usernumber + ", password=" + password + "]";
}
}


2、主程序:

static Collection c = new ArrayList();
static Scanner s = new Scanner(System.in);

public static void main(String[] args){

while(true){
System.out.println("请选择功能      A(注册 )    B(登陆)");

String option = s.next();

if("a".equalsIgnoreCase(option)){
reg();

}else if("b".equalsIgnoreCase(option)){
login();
}
}
}


3、reg()注册功能:

private static void reg() {
User user = null;
while(true){
System.out.println("欢迎来到注册页面,请输入账号:");
int usernumber = s.nextInt();
user = new User(usernumber,null);
/*
* 不能使用迭代器
Iterator i = c.iterator();
while(i.hasNext()){
User user = (User)i.next();
*/
if(c.contains(user)){//根本原理是比较equals,所以重写了equals方法
System.out.println("用户名重复请重新输入!");
}else{
break;
}
}
System.out.println("请输入密码:");
String password = s.next();
user.setPassword(password);
c.add(user);
System.out.println("注册成功");
System.out.println("已注册用户:"+c);
}


4、login()登陆功能:

private static void login() {
System.out.println("欢迎来到登陆页面,请输入账号:");
int usernumber = s.nextInt();
System.out.println("请输入密码:");
String password = s.next();
boolean flag = false;
Iterator i = c.iterator();
while(i.hasNext()){
User user = (User)i.next();
//字符串比较使用equals方法,不能使用等号
if(user.getUsernumber()==usernumber&&
user.getPassword().equals(password)){
flag = true;
}else{
flag = false;
}
}
if(flag==true){
System.out.println("登陆成功!");
}else{
System.out.println("登陆失败!");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Collection 实例