用JavaSE知识点完成登入注册界面

该博客介绍了一个使用JavaSE完成用户注册和登录界面的案例。通过定义User类,使用ArrayList存储用户信息,结合键盘输入处理用户选择,实现注册、登录和退出功能。

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("请选择:");       
}

}
程序逻辑原理图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值