前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Java实现简易的 注册 + 登录 系统 (中级)

基于Java实现简易的 注册 + 登录 系统 (中级)

作者头像
Gorit
发布2021-12-09 14:52:00
1K0
发布2021-12-09 14:52:00
举报
文章被收录于专栏:Gorit 带你学全栈系列

引言 :这个项目我以学习的角度进行补充和完善,力求把登录 + 注册做到最完美!!!

该项目适用于 学习完 基础的编程语法的同学进行进阶学习

【1】基于Java实现简易的 注册 + 登录 系统

数据库 实现!!!

一、项目分析

  1. 基础菜单栏:主界面、登录界面,注册界面
  2. 类的划分:测试类、pojo类(存放账号和密码的构造方法)、信息存储类(专门存储用户注册的信息类【用于登录验证】)
  3. 业务逻辑分析:该项目主要实现两个功能,
    • 一个是注册,用户点击注册,则会跳转到注册界面,输入要注册的账号密码,输入完成跳转到登录界面
    • 二是登录:用户会直接跳转到登录界面,通过已有的数据进行匹配登录

二、界面设计

这个大家自行设计

  1. 基础菜单栏

欢迎来到 xxx 系统 1、注册 2、登录 3、退出 请输入你的选择:

  1. 登录界面

欢迎来到 xxx 在线 系统 请输入你的账号: aaa 请输入你的密码: bbb 恭喜你登录成功!!! …

  1. 注册界面

欢迎来到注册界面 请输入你的账号: ada 请输入你的密码: abc

三、代码实现

特别提醒:我这里存储数据用到的是列表(ArrayList),每次运行代码的时候,原有的数据就会保留,新注册的信息就会删除

接下来我把几个比较重要的代码区域贴出来,供大家学习使用

  1. 难点一:首先就是登录逻辑的判断
代码语言:javascript
复制
import java.util.Scanner;
import dataStored.LoginDataStored;
public class Login {
	static LoginDataStored l=new LoginDataStored();//创建数据存储的对象
	public static void login() {
		Scanner in=new Scanner(System.in);
		String account = null;
		String password = null;
		String s;
		//初始化账户信息(这也是列表(ArrayList)的弊端,每次使用必须进行初始化的操作)
		l.init();
		do {
			System.out.println("欢迎来到 xxx 在线 系统");
			//菜单的使用
			System.out.println("请输入你的账号:");
			account=in.next();
			System.out.println("请输入你的密码:");
			password=in.next();
			//两层判断,其实这里还可以继续扩展,对用户注册的账户进行判断,是否有重复的
			//还可以继续扩展,对密码的茬高度进行长度限制,提高安全性
			for(int i=0;i<l.list.size();i++)
			if(account.equals(l.list.get(i).getAccount())) {
				if(password.equals(l.list.get(i).getPassword())) {
					System.out.println("恭喜你登录成功!!!");
					System.out.println("..............");
					//程序到这里就介结束了,我也就没写了,不然会一直重复登录
					s=in.next();// 用于暂停。。。
				}else {
					System.out.println("密码错误,请重新尝试");
				}
			}else {
				System.out.println("账户错误,请重新输入");
			}
			
		}while(true);//账号密码输不对,就一直输入
	}
}
  1. 难点二:用户注册与登录的对象,设置有参和无参的构造方法
代码语言:javascript
复制
public class SignIn {
	private String account;
	private String password;
	public String getAccount() {
		return account;
	}
	public void setAccount(String account) {
		this.account = account;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public SignIn(String account, String password) { //有参数的构造方法
		super();
		this.account = account;
		this.password = password;
	}
	
	public SignIn() {}
}
  1. 难点三: 使用列表实现用户的信息注册
代码语言:javascript
复制
import java.util.*;
import Login.Login;
import pojo.SignIn;

public class LoginDataStored {
    public static  SignIn s=new SignIn();//创建SignIn 对象,用于实现用户注册信息的存储,
    public static  List<SignIn> list=new ArrayList<SignIn>();//通过列表存储用户信息
    public static Scanner in=new Scanner(System.in);
    static Login ll=new Login();//创建登录界面的对象,用于界面跳转
    
    public void init() {//初始化账号信息
    	list.add(new SignIn("aaa","bbb"));
    	list.add(new SignIn("bbb","ccc"));
    }
    
    //注册界面,写在这里主要是方面添加信息
    public static void Register() {
    	info("欢迎来到注册界面");
    	String account="";
    	String password="";
    	System.out.println("请输入你的账号:");
    	account=in.next();
    	System.out.println("请输入你的密码:");
    	password=in.next();
    	s=new SignIn(account,password);
    	list.add(s);
    	//返回登录界面
    	ll.login();
    }
    
    //封装输入流
    public static void info(String str) {
    	System.out.println(str);
    }
}

项目资源我已经上传到 我的 Github 仓库当中,大家有需要的可以自取~ 传送门

edited by gorit on 2019年7月12日

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/07/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【1】基于Java实现简易的 注册 + 登录 系统
    • 一、项目分析
      • 二、界面设计
        • 三、代码实现
        相关产品与服务
        访问管理
        访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档