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

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

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

数据库 实现!!!

一、项目分析

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

二、界面设计

这个大家自行设计

  1. 基础菜单栏

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

  1. 登录界面

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

  1. 注册界面

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

三、代码实现

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

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

  1. 难点一:首先就是登录逻辑的判断
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. 难点二:用户注册与登录的对象,设置有参和无参的构造方法
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. 难点三: 使用列表实现用户的信息注册
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日

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

  1. 【java项目学习笔记】基于servlet+jsp+jdbc的注册登录系统

    目录 项目介绍 准备工作 前端实现 后端实现 项目介绍 实现效果: 首先进行注册,注册成功后自动跳转到登录界面,用先前注册的账号进行登录 注册成功和登录成功的信息会在后端控制台打印 用户注册的信息记录 ...

  2. python注册系统_Python制作简易注册登录系统

    Python制作简易注册登录系统 这篇文章主要为大家详细介绍了 Python 简易注册登录系统的制作方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Python 是一种面向对象.解释型计算机程 ...

  3. 基于Java毕业设计新冠疫苗接种预约系统登录源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计新冠疫苗接种预约系统登录源码+系统+mysql+lw文档+部署软件 基于Java毕业设计新冠疫苗接种预约系统登录源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构 ...

  4. 基于jsp的失物招领系统_基于Java web的校园失物招领系统

    源码编号:B-E00021 点击查看分类规则 项目类型:Java EE项目(java web项目) 项目名称:基于java web的校园失物招领系统(LostGoods) 当前版本:V1.0.0版本 ...

  5. 基于Java的乐嘉网络商城系统(毕设)

    文章目录 前言 1.1 用户登录与注册 1.1.1 用户注册 1.1.2 用户登录 1.2 前台展示 1.2.1 首页展示 1.2.2 首页搜索 1.2.3 商品浏览 1.2.4 商品详情页搜索 1. ...

  6. 基于JAVA黑白图片和上色处理系统(Springboot框架+AI人工智能) 开题报告

      本科生毕业论文 基于Java(springboot框架)黑白图片和上色处理系统 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学 ...

  7. 基于JAVA学生信息管理和新生报到系统(Springboot框架) 开题报告

      本科生毕业论文 基于Java框架springboot学生信息管理和新生报到系统 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学 ...

  8. 精品基于java开发的航空订票系统SSM

    <基于java开发的航空订票系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 使用技术: 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1. ...

  9. 基于JAVA车辆大全和车牌识别系统(Springboot框架+AI人工智能) 开题报告

      本科生毕业论文 基于Java(springboot框架)车辆大全和智能识别系统 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学 ...

最新文章

  1. Hadmard product(哈达玛积)
  2. 广告行业中常说的 CPC,CPM,CPD,CPT,CPA,CPS 等词的意思是什么?
  3. 基本粒子群算法(PSO)的改进
  4. 内存管理之slab分配器
  5. SAP 电商云 Spartacus UI production build 时遇到和 orderCore 相关的错误
  6. 执行Dockerfile构建基础镜像,建立python工作环境
  7. SDN精华问答 | 为什么SDN要花这么长时间才被采用?
  8. Beauty Of Unimodal Sequence(HDU-6592)
  9. python最长匹配_二分图最大匹配:匈牙利算法的python实现
  10. 算法提高 高精度乘法(java)
  11. linux硬盘类型怎么选,如何选择linux系统安装类型
  12. Python学习-将Python3.3.4还原成Python2.6版本
  13. java扫描器创建,java – 如何创建条码扫描器(Android)?
  14. 计算机组装与维护选教材,计算机组装与维护校本教材.doc
  15. 精选 8个 学习英语的APP,完全免费,适合不同阶段的你
  16. 一种高带外抑制Ku波段滤波器设计
  17. 关于软件测试未来发展趋势分析与总结
  18. libvirt live migration 流程
  19. 使用vite安装vue3.0(不是脚手架)
  20. html后台管理模板(源码)

热门文章

  1. AR在未来商店中的应用
  2. DNF怎么凑异界装备(远古2)最快?
  3. 41集群上安装rocm版本的nwchem
  4. React 官方纪录片:我们亲手将 JSX 推向神坛!
  5. 关于如何跳过滑动验证码登录淘宝。
  6. 两个LinearLayout或者ConstraintLayout平分布局
  7. 希腊字母与对应的Unicode码
  8. parsing XML document from class path resource [applicationContext.xml]…
  9. adb按键精灵_按键精灵封装安卓模拟器命令源码
  10. java List集合按照条件分组