| package StudentSys; |
| |
| import java.util.ArrayList; |
| import java.util.Scanner; |
| |
| public class App { |
| |
| public static void main(String[] args) { |
| ArrayList<User> list=new ArrayList<>(); |
| while (true){ |
| System.out.println("欢迎来到学生管理系统"); |
| System.out.println("请选择操作:1登录 2注册 3忘记密码"); |
| Scanner sc = new Scanner(System.in); |
| String choose = sc.next(); |
| switch (choose) { |
| case "1": { |
| login(list); |
| break; |
| } |
| case "2": { |
| register(list); |
| break; |
| } |
| case "3": { |
| forgetPassWord(list); |
| break; |
| } |
| case "4": { |
| System.out.println("谢谢使用"); |
| System.exit(0); |
| } |
| default: |
| System.out.println("没有这个选项"); |
| } |
| } |
| |
| } |
| |
| private static void register(ArrayList<User> list) { |
| System.out.println("注册"); |
| Scanner sc = new Scanner(System.in); |
| String username; |
| while (true) { |
| System.out.println("请输入用户名"); |
| username = sc.next(); |
| |
| boolean flag1 = checkUsername(username); |
| if (!flag1) { |
| System.out.println("当前格式不满足要求,请重新输入"); |
| continue; |
| } |
| boolean flag2 = contains(list, username); |
| if (flag2) { |
| System.out.println("用户名" + username + "已存在"); |
| continue; |
| } else { |
| System.out.println("用户名" + username + "可用"); |
| break; |
| } |
| } |
| String password; |
| while (true) { |
| System.out.println("请输入密码"); |
| password = sc.next(); |
| System.out.println("请再次输入密码"); |
| String againPassword = sc.next(); |
| if (!password.equals(againPassword)) { |
| System.out.println("两次密码不一致,请重新输入"); |
| continue; |
| } else { |
| System.out.println("两次密码一致,请继续输入"); |
| break; |
| } |
| } |
| |
| String personId; |
| while (true) { |
| System.out.println("请输入身份证号码"); |
| personId = sc.next(); |
| |
| boolean flag = checkPersonId(personId); |
| if (flag) { |
| System.out.println("身份证信息满足条件"); |
| break; |
| } else { |
| System.out.println("身份证信息不满足条件"); |
| continue; |
| } |
| |
| } |
| String phoneNumber; |
| while (true) { |
| System.out.println("请输入手机号码"); |
| phoneNumber = sc.next(); |
| boolean flag=checkNumber(phoneNumber); |
| if (flag) { |
| System.out.println("手机信息满足条件"); |
| break; |
| } else { |
| System.out.println("手机信息不满足条件"); |
| continue; |
| } |
| } |
| User u=new User(username,password,personId,phoneNumber); |
| list.add(u); |
| printList(list); |
| System.out.println("注册成功"); |
| |
| } |
| private static void printList(ArrayList<User> list){ |
| for (int i = 0; i < list.size(); i++) { |
| User user=list.get(i); |
| System.out.println(user.getUsername()+","+user.getPassword()+"," + |
| ""+user.getPersonId()+","+user.getPhoneNumber()); |
| } |
| } |
| private static boolean checkNumber(String phoneNumber) { |
| if(phoneNumber.length()!=11){ |
| System.out.println("手机号必须是18位数字"); |
| return false; |
| } |
| if(phoneNumber.startsWith("0")){ |
| System.out.println("手机号不能是0开头"); |
| return false; |
| } |
| for (int i = 0; i < phoneNumber.length()-1; i++) { |
| char c=phoneNumber.charAt(i); |
| if(!(c>='0'&&c<='9')){ |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| private static void login(ArrayList<User> list){ |
| System.out.println("登录"); |
| } |
| private static void forgetPassWord(ArrayList<User> list){ |
| System.out.println("忘记密码"); |
| } |
| |
| private static boolean checkUsername(String username){ |
| int len=username.length(); |
| if(len<3||len>15){ |
| return false; |
| } |
| for (int i = 0; i < username.length(); i++) { |
| char c=username.charAt(i); |
| if(!((c>='a'&&c<='z')||(c>='A'&&c<='Z')||(c>='0'&&c<='9'))) { |
| return false; |
| } |
| } |
| |
| |
| int count=0; |
| for (int i = 0; i < username.length(); i++) { |
| char c = username.charAt(i); |
| if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { |
| count++; |
| break; |
| } |
| } |
| return count>0; |
| } |
| private static boolean checkPersonId(String personId){ |
| if(personId.length()!=18){ |
| System.out.println("身份证号必须是18位数字"); |
| return false; |
| } |
| if(personId.startsWith("0")){ |
| System.out.println("身份证号不能是0开头"); |
| return false; |
| } |
| for (int i = 0; i < personId.length()-1; i++) { |
| char c=personId.charAt(i); |
| if(!(c>='0'&&c<='9')){ |
| return false; |
| } |
| } |
| char endChar=personId.charAt(personId.length()-1); |
| if((endChar>='0'&&endChar<='9')||(endChar=='x')||(endChar=='X')){ |
| return true; |
| }else{ |
| return false; |
| } |
| } |
| private static boolean contains(ArrayList<User> list,String username){ |
| for (int i = 0; i <list.size() ; i++) { |
| User user=list.get(i); |
| String rightUsername=user.getUsername(); |
| if(rightUsername.equals(username)){ |
| return true; |
| }else{ |
| return false; |
| } |
| } |
| return false; |
| } |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!