引言 :这个项目我以学习的角度进行补充和完善,力求把登录 + 注册做到最完美!!!
该项目适用于 学习完 基础的编程语法的同学进行进阶学习
非 数据库 实现!!!
这个大家自行设计
欢迎来到 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;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);//账号密码输不对,就一直输入
}
}
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 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日