package 学生管理系统;import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;public class LoginScreen {public static void main(String[] args) {ArrayList<users> list = new ArrayList<>();users users = new users("itheima123", "ciyp1001", "360730200307241234", "19198357110");list.add(users);Scanner sc = new Scanner(System.in);System.out.println("欢迎来到学生管理系统");System.out.println("请选择1.登入  2.注册   3.忘记密码  ");int xuanZhe = sc.nextInt();switch (xuanZhe) {case 1 -> {logIn(list);}case 2 -> {list = zheCe(list);}case 3 -> {list = forget(list);}default -> System.out.println("没有这个选项");}}public static void logIn(ArrayList<users> list) {String name = "";int a = 0, b = 0;Scanner sc = new Scanner(System.in);System.out.println("请输入用户名");name = sc.next();for (int i = 0; i < list.size(); i++) {boolean jieGuo = panDuan(name, list.get(i).getName());if (jieGuo) {System.out.println("用户名存在");b = i;break;} else {a++;}}if (a == list.size()) {System.out.println("用户名不存在,请先注册");} else {for (int i = 0; i < 3; i++) {System.out.println("请输入密码");String password = sc.next();String c = list.get(b).getPassword();if (panDuan(password, c)) {System.out.println("密码正确");String yanZhenMa = yanZhenMa();while (true) {System.out.println("请输入验证码");String jieGuo = sc.next();boolean panDuan = panDuan(yanZhenMa, jieGuo);if (panDuan) {System.out.println("验证码输入正确");break;} else {System.out.println("验证码输入不正确");}}break;} else {System.out.println("密码不正确请再次输入还有" + (2 - i) + "次机会");}}}}public static String yanZhenMa() {char arr[] = new char[52];int a = 65;Random r = new Random();for (int i = 0; i < arr.length; i++) {arr[i] = (char) a;a++;if (a == 91)a = 97;// System.out.println(arr[i]);}char b[] = new char[5];for (int i = 0; i < b.length; i++) {int v = r.nextInt(53);b[i] = arr[v];}int xuZhi = r.nextInt(10) + 48;char zuanHuan = (char) xuZhi;int shuiJi = r.nextInt(b.length);b[shuiJi] = zuanHuan;for (int i = 0; i < b.length; i++) {System.out.print(b[i]);}String jieGuo = new String(b);return jieGuo;}public static ArrayList<users> zheCe(ArrayList<users> list) {System.out.println("欢迎进入注册界面");Scanner sc = new Scanner(System.in);String password = "", next = "", id = "", number = "", name = "";while (true) {System.out.println("请输入用户名,用户名长度在3-15包含数字与字母");name = sc.next();boolean jieGuo = panDuan(name);if (jieGuo) {System.out.println("用户名符合要求");int panDuan = panDuan(list, name);if (panDuan >= 0) {System.out.println("用户名已存在");} else {System.out.println("输入成功");break;}}}while (true) {System.out.println("请输入密码");password = sc.next();System.out.println("请再次输入密码");next = sc.next();boolean a = panDuan(next, password);if (a) {System.out.println("输入成功");break;} else {System.out.println("输入失败,密码输入不一致");}}while (true) {System.out.println("请输入身份证号");id = sc.next();boolean ided = idPanDuan(id);if (ided) {System.out.println("身份证号输入成功");break;} else {System.out.println("输入失败");}}while (true) {System.out.println("请输入手机号");number = sc.next();boolean numberPanDuan = numberPanDuan(number);if (numberPanDuan) {System.out.println("手机号输入成功");break;} else {System.out.println("输入失败");}}users users = new users(name, password, id, number);list.add(users);return list;}public static boolean panDuan(String name) {int a = 0;if (name.length() < 3 || name.length() > 15) {System.out.println("长度错误");return false;}for (int i = 0; i < name.length(); i++) {if (name.charAt(i) < 48 || name.charAt(i) > 122 || (name.charAt(i) > 57 && name.charAt(i) < 97)) {return false;} else if (name.charAt(i) >= 48 && name.charAt(i) <= 57) {a++;}}if (a == name.length()) {System.out.println("用户名不能纯数字");return false;}return true;}public static int panDuan(ArrayList<users> list, String name) {for (int i = 0; i < list.size(); i++) {String a = list.get(i).getName();if (a.equals(name)) {return i;//用户名已存在}}return -1;//用户名不存在}public static boolean panDuan(String next, String name) {return next.equals(name);}public static boolean idPanDuan(String id) {if (id.length() == 18) {if (id.charAt(0) != 48) {for (int i = 0; i < id.length() - 1; i++) {if (id.charAt(i) < 48 || id.charAt(i) > 57) {System.out.println("前17位不都是数字");return false;}}char a = id.charAt(id.length() - 1);if ((a >= 48 && a <= 57) || a == 'X' || a == 'x') {return true;} else {System.out.println("最后一个字符错误");return false;}} else {System.out.println("开头为0");return false;}} else {System.out.println("长度不为18");return false;}}public static boolean numberPanDuan(String number) {if (number.length() == 11) {if (number.charAt(0) != 48) {for (int i = 0; i < number.length(); i++) {if (number.charAt(i) < 48 || number.charAt(i) > 57) {System.out.println("不是纯数字");return false;}}return true;} else {System.out.println("开头为0");return false;}} else {System.out.println("长度不为11");return false;}}public static ArrayList<users> forget(ArrayList<users> list) {//代码冗余了:判断用户名是否存在String name = "", id = "", number = "";int a = 0, b = 0;Scanner sc = new Scanner(System.in);System.out.println("请输入用户名");name = sc.next();for (int i = 0; i < list.size(); i++) {boolean jieGuo = panDuan(name, list.get(i).getName());if (jieGuo) {System.out.println("用户名存在");b = i;break;} else {a++;}}if (a == list.size()) {System.out.println("用户名不存在,请先注册");return list;} else {System.out.println("请输入身份证号码");id = sc.next();System.out.println("请输入手机号码");number = sc.next();String c = list.get(b).getId();String d = list.get(b).getNumber();boolean panDuan = panDuan(id, c);boolean panDuan2 = panDuan(number, d);if (panDuan) {if (panDuan2) {System.out.println("账号信息匹配");System.out.println("请输入修改后的密码");String password = sc.next();users users = new users(name, password, id, number);list.set(b, users);return list;} else {System.out.println("账号信息不匹配,修改失败");return list;}} else {System.out.println("账号信息不匹配,修改失败");return list;}}}
}
//不知道如何进入主菜单的方法
package 学生管理系统;public class users {private String name;private String password;private String id;private String number;public users() {}public users(String name, String password, String id, String number) {this.name = name;this.password = password;this.id = id;this.number = number;}/*** 获取* @return name*/public String getName() {return name;}/*** 设置* @param name*/public void setName(String name) {this.name = name;}/*** 获取* @return password*/public String getPassword() {return password;}/*** 设置* @param password*/public void setPassword(String password) {this.password = password;}/*** 获取* @return id*/public String getId() {return id;}/*** 设置* @param id*/public void setId(String id) {this.id = id;}/*** 获取* @return number*/public String getNumber() {return number;}/*** 设置* @param number*/public void setNumber(String number) {this.number = number;}}

学生管理系统升级java版(登入,注册,忘记密码)相关推荐

  1. Java+Servlet+filter+javascript+html+jsp登入注册更新个人信息

    eclipse+Java+Servlet+filter+javascript+html+jsp+EL登入注册更新个人信息 数据库sql用vs2008或者mysql用mysql 代码粗糙,提示信息未处理 ...

  2. 学生管理系统(Java版)

    学生管理系统(Java版) 前言:这个是大二做的课设(还是学生管理系统-),理论上虽然是4个人一组一起做的,但是,注意这个"但是",还是我一个人承担了所有-代码和文档基本都是我一个 ...

  3. 详细介绍idea实现javaweb项目登入注册(华东交通大学教务处信息管理系统)、模糊查询...

    详细介绍idea实现javaweb项目登入注册(华东交通大学教务处信息管理系统).模糊查询 1,创建数据库,我的用户名:root 密码:root,数据库名称:lianwei,表名:login 2,效果 ...

  4. QT:登入界面账号密码登入和验证(奇牛学院)

    QT: 登入界面账号密码登入和验证 第一次在博客上面写代码 初学 有问题可以用一起讨论!!! ui->img->setScaledContents(true); // 图片是否填充 fal ...

  5. 学生管理系统(Java版)(普通版(增删改查)、增强版(登录、注册、忘记密码))

    普通版需求如下: 学生管理系统分为四个部分:增删改查 主菜单: 增部分:(在增加前,我们要判断id的唯一性,因此我们可以遍历ArrayList数组,再调用String的equals方法,进行判断) 删 ...

  6. 手机登入注册为什么出现这个错误?

    一点击登入 出现这个错误 我想要把页面输入的手机号 存到数据库中login_phone 数据库 CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCR ...

  7. WPF帝友借贷系统MV模式开发日志2021/04/02_前台登入注册页面搭建

    WPF帝友借贷系统MV模式开发日志_前台页面搭建 下面是我搭建好的前台登入界面 可以看出,登入界面主要分为两个部分 一个部分是登入程序信息显示(左边) 一部分是登入数据验证部分(右边)因为是桌面软件, ...

  8. C# ASP.NET.Web大学课堂登入注册界面实验

    先设计注册界面 <style>body{background-color:antiquewhite;}</style> 背景色 图像 <div><asp:La ...

  9. java用户名检查数据库_登入界面账号密码是访问数据库,但登入问题时if判断时就是执行不了...

    回复 2楼 林月儿 我按着你的方法试了下,可还是这个判断不能执行                    if(password.equals(drmm.getText())){ view.setTex ...

最新文章

  1. CVPR 2021 | 利用时序差分进行动作识别的最新Backbone—TDN
  2. 我以为的周末 vs 实际上的周末
  3. Java加载词向量_W2C得到词向量之后,如何得到句子向量,
  4. php ismethod,结合php类三种属性说明is_callable和method_exists简单区别
  5. VS2015 + CUDA 8.0 配置GTX1070的OpenCL 开发环境
  6. Windows 下的批处理脚本基础——炫酷命令提示符窗口(让窗口变成你喜欢的样子)
  7. Git #1 - 安装git bash
  8. [C++] C++标准中定义的实体(entity)/ 声明 / 定义
  9. 七牛云 转码_开发者选择短视频SDK,为何青睐七牛云?
  10. 在Linux 中如何从进程相关的文件描述中恢复数据
  11. oracle exp-00011的解决办法
  12. r语言保存成html文件,R语言统计结果输出至本地文件的几种方法示例
  13. 教之初考试系统登录选择服务器,教之初考试系统
  14. 万字长文,解密秒杀架构!(建议收藏)
  15. Redis(九)-Redis的常用数据类型之Hash表
  16. 腾讯云、声网、快手抢跑视频云
  17. 操作系统(一)——绪论
  18. Linux 应用调试神器- ASan
  19. cas 单点登录 http 方式配置实现
  20. java 8 joda time,Joda Time 使用

热门文章

  1. 计算机应用基础知识大全
  2. JMeter系统并发测试
  3. m基于sift特征提取和模板匹配的车标识别算法matlab仿真
  4. android的学生管理系统,Android版学生管理系统
  5. 拆解300个自媒体爆款标题,总结三点教你玩转自媒体标题
  6. 站群分站SEO优化利器-DiYunCMS分站管理插件介绍
  7. vue获取dom元素
  8. java读取csv文件的行数_JMeter 读取 CSV 文件数据行数
  9. C语言基础知识手册(自用)
  10. python dicom 三维重建_CT扫描图的三维重建