1. 任务描述
编写程序实现简单的登录注册功能。程序包含以下4个功能:
(1)登录功能,用户输入正确的账号密码进行成功;
(2)注册功能,输入用户名和密码进行注册;
(3)查看功能,查看所有的用户名与密码;
(4)退出功能,退出系统。
用户可以输入对应的编号进行相应的功能操作。例如,输入2进入注册功能,输入用户名和密码进行注册。
思路:
将用户名和密码分别放在ArrayList中,在判断账号和密码是否匹配的时候判断同一个下标下两个ArrayList的值是否相同。
代码如下
import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.Scanner;
public class PersonTest {
public static void main(String[] args) {
Scanner input = new Scanner(new BufferedInputStream(System.in));
ArrayList listAccount = new ArrayList();
ArrayList listPassword = new ArrayList();
while (true) {
showTips();
int flag = input.nextInt();
if (flag == 0) {
System.out.println("退出系统");
return;
}
if (flag == 1) {
System.out.println("请输入用户名");
String inputAccount = input.next();
System.out.println("请输入密码");
String inputPassword = input.next();
if (check(listAccount, inputAccount, listPassword, inputPassword) == true) {
System.out.println("登录成功");
} else {
System.out.println("用户名或者密码错误");
}
}
if (flag == 2) {
System.out.println("请输入用户名");
String account = input.next();
listAccount.add(account);
System.out.println("请输入密码");
String password = input.next();
listPassword.add(password);
System.out.println("注册成功");
}
if (flag == 3) {
showList(listAccount, listPassword);
}
}
}
/**
* 显示提示
*/
private static void showTips() {
System.out.println("请输入操作");
System.out.println("1-登录");
System.out.println("2-注册");
System.out.println("3-查看");
System.out.println("0-退出");
}
/**
* 判断两个集合下标位置是否一致,以及输入的用户名密码是否和存储的一样
*
* @param listAccount 用户名集合
* @param inputAccoun 输入的用户名
* @param listPassword 密码集合
* @param inputPassword 输入的密码
* @return
*/
private static boolean check(ArrayList listAccount, String inputAccoun, ArrayList listPassword, String inputPassword) {
for (int i = 0; i < listAccount.size(); i++) {
if (inputAccoun.equals(listAccount.get(i)) == true && inputPassword.equals(listPassword.get(i)) == true) {
return true;
}
}
return false;
}
/**
* 遍历输出
*
* @param listAccount
* @param listPassword
*/
private static void showList(ArrayList listAccount, ArrayList listPassword) {
for (int i = 0; i < listAccount.size(); i++) {
System.out.println("序号: " + i + ": Account: " + listAccount.get(i) + " Password: " + listPassword.get(i));
}
}