编写一个系统(登录、注册、验证用户名密码和验证码、覆盖存储用户)

您所在的位置:网站首页 在控制台输出购物系统登录菜单和系统主菜单 编写一个系统(登录、注册、验证用户名密码和验证码、覆盖存储用户)

编写一个系统(登录、注册、验证用户名密码和验证码、覆盖存储用户)

2023-10-18 11:26| 来源: 网络整理| 查看: 265

编写一个系统

开始方法呈现开始菜单 登陆注册退出

编写账号类(存储正确的用户名和密码)用户名密码

要求:选择登陆后输入用户名密码 并进行验证(编写验证方法),验证成功后进入主菜单界面

主菜单界面:幸运抽奖(需要完成功能)购物结算商品陈列真情回馈注销用户

验证错误或者菜单选择错误可以给出提示并允许继续操作(比如用户名输错,重新输入,菜单输错也可以重新输入,主菜单输错应返回主菜单界面)

注册要求:输入注册的用户名和密码和验证码(4位数字验证码),如果账户存在则不能注册,如果不存在将注册的信息写入账号类(目前的实现将导致将原用户名和密码覆盖),注册成功退回开始菜单,可以使用注册的账户进行登录

注销用户:返回起始菜单,可以继续进行登录或注册的操作

账户类:用于存储密码,不是用集合存储的,所以每次注册只能进行覆盖

/** * 账户类 * 用于存储系统的用户名和密码 */ public class Account { //用户名和密码 String userName = "admin"; String password = "000"; }

购物系统:封装了系统的所有业务逻辑

/** * 购物系统 * 封装了系统的所有业务逻辑 */ public class ShoppingSystem { //键盘扫描器 Scanner sc; //账户对象 Account account; //随机数生成对象 Random random; //是否中奖的标识 boolean flag; /** * 对系统进行初始化 * 初始化就是在系统运行前,将一些必要的数据进行初始 */ public void init(){ sc = new Scanner(System.in); //初始化账户 account = new Account(); //初始化随机数生成对象 random = new Random(); } /** * 开启系统 */ public void start(){ //呈现开始菜单 System.out.println("1. 登录"); System.out.println("2. 注册"); System.out.println("3. 退出"); System.out.println("请选择:"); int chooice = sc.nextInt(); //根据选项调用对应的功能 switch(chooice){ //1. 调用登录方法 case 1: login(); break; //2. 调用注册方法 case 2: regist(); break; case 3: System.out.println("退出了系统"); //退出正在运行的程序 //System.exit(0); break; } } /** * 登录方法 */ public void login(){ //输入用户名和密码 System.out.println("请输入用户名:"); String userName = sc.next(); System.out.println("请输入密码:"); String password = sc.next(); //验证账户:传入用户名和密码 if(validate(userName, password)){       //如果正确,进入主菜单 mainMenu(); } else{ System.out.println("用户名或密码错误!"); login(); } /** * 验证用户名的方法(注册中也会用到用户名是否存在,所以单独抽离成一个方法) * @param userName * @return */ public boolean validateName(String userName){ if(userName.equals(account.userName)){ return true; } return false; } /** * 验证账户 * @param userName * @param password * @return */ public boolean validate(String userName, String password){     //先调用验证用户名的方法 if(validateName(userName)){       //如果用户名正确,进一步验证密码是否正确 if(password.equals(account.password)){ return true; } } return false; } /** * 注册方法 */ public void regist(){ //输入用户名和密码 System.out.println("请输入用户名:"); String userName = sc.next(); System.out.println("请输入密码:"); String password = sc.next(); //生成验证码 String code = createValidateCode(); System.out.println("请输入验证码:【"+code+"】"); String inputCode = sc.next(); //判断验证码 if(!inputCode.equals(code)){ System.out.println("验证码输入错误!"); //递归注册 regist(); return; } //对用户名和密码进行验证 if(validateName(userName)){ //如果验证失败,重新输入,递归注册方法 System.out.println("用户名已经被注册!"); regist(); } else{ //如果验证成功,将注册的用户名和密码写入账户对象 account.userName = userName; account.password = password; //进入起始菜单 start(); } /** * 生成验证码 * @return */ public String createValidateCode(){ String code = "";     //循环生成4位验证码 for(int i = 1; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3