忽略大小写;注册时要求使用用户名与密码要把用户名和密码的信息保存到集合中;提示用户输入用户名与密码如果匹配则登录成功
项目开始时要分析都需要哪些实体类,这个稍微有点复杂,但是逻辑很简单,实现过程不难
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Scanner;
//用户类
class User{
private String userName;
private String password;
public User(String name, String password) {
super();
this.userName = name;
this.password = password;
}
public User(){
}
public String getName() {
return userName;
}
public void setName(String name) {
this.userName = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "用户名"+this.userName+"密码"+this.password+"}";
}
}
class Demo{
//创建一个集合对象用于存储数据
static Collection users = new ArrayList();
//共享出来方便其他功能使用
static Scanner scanner = new Scanner(System.in);
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("请输入登陆的用户名");
String userName = scanner.next();
System.out.println("请输入登录密码:");
String password = scanner.next();
//使用迭代器遍历集合
Iterator it = users.iterator();//获取迭代器
boolean isLogin = false;//默认是没有登陆成功的
while(it.hasNext()) {
User user = (User) it.next();//直接强制类型换
if(user.getName().equals(userName)&&user.getPassword().equals(password)) {
isLogin = true;
break;
}
}
if(isLogin) {
System.out.println("登录成功");
}else {
System.out.println("登录失败");
}
}
//注册方法
public static void reg() {
System.out.println("请输入注册的用户名");
String userName = scanner.next();
System.out.println("请输入注册密码");
String password = scanner.next();
//把这些用户信息用于创建一个用户对象
User user = new User(userName,password);
users.add(user);
System.out.println("恭喜您注册成功");
System.out.println("集合的元素:"+users);
}
}