package cn.itcast.day11.demo02UserRegistLogin;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
/**
*
* @author jack
*
*/
/*用户注册和登录案例的分析:
1.定义一个标准的User类(用户名成和密码)
2.系统有多个用户进行注册和登录,需要保存其信息,所以需要定义一个集合ArrayList,泛型User
3.显示欢迎界面
4.创建键盘录入对象
5.获取用户输入的数据
6.根据用户的输入数据,进行判断(if和switch都可以),执行相关的操作
(1)如果输入的是1:执行注册的功能
(2)如果输入的是2:执行登录的功能
(3)如果输入的是3:执行退出的功能
(4)其他数字,输入错误,请重试。*/
public class UserRegistLogin {
public static void main(String[] args) {
//定义一个方法UserRegistLogin(),进入用户注册和登录界面
userRegistLogin();
}
public static void userRegistLogin(){
//定义一个储存用户信息的集合
ArrayList<User> list = new ArrayList<>();
while(true){
//定义一个打印欢迎界面的方法(循环从这开始)
printMenu();
//定义一个方法,获取用户键盘录入的内容
int getNum = getScanner();
switch(getNum){
case 1:
//定义注册功能
regist(list);
//因为还没学连接数据库,所以用户每次都注册成功
System.out.println("注册成功");
break;
case 2:
//System.out.println("登入成功");
//定义一个有登入login()功能的方法,传入一个储存用户信息的集合
login(list);
break;
case 3:
System.out.println("感谢您的本次使用,欢迎下次光临!");
//0表示的是正常退出,非0表示的是非正常退出
System.exit(0);
break;
default:{
System.out.println("尊敬的用户请按提示输入内容,请重新输入!");
}
}
}
}
/**
* 定义一个有登入功能的方法login()并判断用户是否登入成功,传入一个储存用户信息的集合
* @param list 传入一个集合,里面储存用户信息
*/
private static void login(ArrayList<User> list) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入用户名(不区分大小写):");
String userName = sc.nextLine();
System.out.print("请输入密码(区分大小写):");
String userPassword = sc.nextLine();
for (int i = 0; i < list.size(); i++) {
if(userName.equalsIgnoreCase( list.get(i).getUserName()) && userPassword.equals(list.get(i).getUserPassword())){
System.out.println("登录成功!欢迎使用!");
return;//结束方法的运行
}
}
System.out.println("用户名或者密码错误,请重试!");
}
//定义一个注册功能的方法并向集合中添加内容,传入一个集合,返回void
private static void regist(ArrayList<User> list) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入用户名:");
String userName = sc.nextLine();
System.out.print("请输入用户密码:");
String userPassword = sc.nextLine();
User user = new User(userName, userPassword);
list.add(user);
}
//定义一个方法,返回用户键盘录入的内容,返回值为int型
private static int getScanner(){
Scanner sc = new Scanner(System.in);
int num = 3;
try {
num = sc.nextInt();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("输入有误,重新输入");
userRegistLogin();
}
return num;
}
//定义一个方法,打印欢迎界面
public static void printMenu() {
System.out.println("========欢迎使用本系统========");
System.out.println("1 - 注册");
System.out.println("2 - 登录");
System.out.println("3 - 退出");
System.out.print("请选择:");
}
}
该博客介绍了一个使用JavaSE完成用户注册和登录界面的案例。通过定义User类,使用ArrayList存储用户信息,结合键盘输入处理用户选择,实现注册、登录和退出功能。

被折叠的 条评论
为什么被折叠?



