基于Java实现的简易登录注册系统

时间:2019-07-21 来源:www.chemyn.com

  

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

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

  非 数据库 实现!!!

  一、项目分析

  基础菜单栏:主界面、登录界面,注册界面

  类的划分:测试类、pojo类(存放账号和密码的构造方法)、信息存储类(专门存储用户注册的信息类【用于登录验证】)

  业务逻辑分析:该项目主要实现两个功能,

  一个是注册,用户点击注册,则会跳转到注册界面,输入要注册的账号密码,输入完成跳转到登录界面

  二是登录:用户会直接跳转到登录界面,通过已有的数据进行匹配登录

  二、界面设计

  这个大家自行设计

  基础菜单栏

  欢迎来到 xxx 系统

  1、注册

  2、登录

  3、退出

  请输入你的选择:

  登录界面

  欢迎来到 xxx 在线 系统

  请输入你的账号:

  aaa

  请输入你的密码:

  bbb

  恭喜你登录成功!!!

  …

  注册界面

  欢迎来到注册界面

  请输入你的账号:

  ada

  请输入你的密码:

  abc

  三、代码实现

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

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

  难点一:首先就是登录逻辑的判断

  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;il.list.size;i++) p=

  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);//账号密码输不对,就一直输入

  }

  }

  难点二:用户注册与登录的对象,设置有参和无参的构造方法

  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 {}

  }

  难点三: 使用列表实现用户的信息注册

  import java.util.*;

  import Login.Login;

  import pojo.SignIn;

  public class LoginDataStored {

  public static SignIn s=new SignIn;//创建SignIn 对象,用于实现用户注册信息的存储,

  public static Listlist=new ArrayList;//通过列表存储用户信息

  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);

  }

  }