为什么网站经常被攻击,网络营销名词解释汇总,windows优化大师最新版本,wordpress4.9 设置中文任务描述 本关任务#xff1a;实现简易考试系统中新用户注册的功能。
编程要求 仔细阅读右侧编辑区内给出的代码框架及注释#xff0c;在 Begin-End 中实现简易考试系统中新用户注册的功能#xff0c;具体要求如下#xff1a;
User.java 提供了用户的基本信息#xff0c…任务描述 本关任务实现简易考试系统中新用户注册的功能。
编程要求 仔细阅读右侧编辑区内给出的代码框架及注释在 Begin-End 中实现简易考试系统中新用户注册的功能具体要求如下
User.java 提供了用户的基本信息该类已经定义完成请仔细阅读该类
在 MenuExam.java 中有 3 个选项实现第一个和第三个选项的功能
获取键盘输入的值如果为 1首先输出“请输入你要注册的用户名”获取键盘输入的用户名再输出“请输入你要注册的密码”获取键盘输入的密码然后调用 ExamManage.java 文件中的 register(String name, String pwd, User[] users) 方法将该方法所需参数传入
register 方法携带三个参数分别为用户名、密码和用户数组该方法实现注册新用户的功能
首先判断用户名是否规范要求用户名必须是 6-10 位字母、数字、下划线这里字母、数字、下划线是指任意组合没有必须三类均包含不能以数字开头如果不规范输出“用户名不合规范”返回主菜单
再判断该用户名是否已存在也就是已经在 users 数组中存在如果存在输出“用户名已存在”返回主菜单
判断密码是否规范要求密码必须是 6-10 位字母、数字、下划线这里字母、数字、下划线是指任意组合没有必须三类均包含如果不规范输出“密码不合规范”返回主菜单
如果用户名和密码没有问题创建该用户并存入用户数组中
如果键盘输入的值为 3 退出程序并输出“退出成功”
如果输入的是其它值时输出“选择错误”返回主菜单。
测试说明 平台将使用测试集运行你编写的程序代码若全部的运行结果正确则通关。 可在右侧“测试结果”区查看具体的测试集详情。
测试输入
1 5sunfeng 123456 1 sunfeng 1234 3 预期输出
线上考试系统 ********** 1. 新用户注册 2. 用户登录 3. 退出系统 ********** 请输入选择的操作 请输入你要注册的用户名 请输入你要注册的密码 用户名不合规范 线上考试系统 ********** 1. 新用户注册 2. 用户登录 3. 退出系统 ********** 请输入选择的操作 请输入你要注册的用户名 请输入你要注册的密码 密码不合规范 线上考试系统 ********** 1. 新用户注册 2. 用户登录 3. 退出系统 ********** 请输入选择的操作 退出成功
import java.util.Scanner;class User {private String username;private String password;public User(String username, String password) {this.username username;this.password password;}public String getUsername() {return username;}public String getPassword() {return password;}
}class ExamManage {public void register(String name, String pwd, User[] users) {// 判断用户名是否规范if (!isValidUsername(name)) {System.out.println(用户名不合规范);return;}// 判断用户名是否已存在if (isUsernameExists(name, users)) {System.out.println(用户名已存在);return;}// 判断密码是否规范if (!isValidPassword(pwd)) {System.out.println(密码不合规范);return;}// 找到一个空位置存储新用户for (int i 0; i users.length; i) {if (users[i] null) {users[i] new User(name, pwd);// System.out.println(注册成功);return;}}System.out.println(用户数组已满无法注册新用户);}private boolean isValidUsername(String username) {if (username.length() 6 || username.length() 10) {return false;}if (Character.isDigit(username.charAt(0))) {return false;}for (char c : username.toCharArray()) {if (!Character.isLetterOrDigit(c) c! _) {return false;}}return true;}private boolean isUsernameExists(String username, User[] users) {for (User user : users) {if (user! null user.getUsername().equals(username)) {return true;}}return false;}private boolean isValidPassword(String password) {if (password.length() 6 || password.length() 10) {return false;}for (char c : password.toCharArray()) {if (!Character.isLetterOrDigit(c) c! _) {return false;}}return true;}
}// 此类为整个通讯录的总控制负责启动
public class MenuExam {public static void main(String[] args) {User[] users new User[50]; // 创建一个对象数组用于存放所有的用户信息// 实例化 Scanner 对象Scanner sc new Scanner(System.in);// 实例化 ExamManage 对象ExamManage examManage new ExamManage();while (true) {System.out.println(线上考试系统);System.out.println(**********);System.out.println(1. 新用户注册);System.out.println(2. 用户登录);System.out.println(3. 退出系统);System.out.println(**********);System.out.println(请输入选择的操作);// 获取键盘输入String str sc.next();// 实现注册功能if (1.equals(str)) {// 获取键盘输入的用户名System.out.println(请输入你要注册的用户名);String name sc.next();// 获取键盘输入的密码System.out.println(请输入你要注册的密码);String pwd sc.next();// 将参数传入 register 方法中examManage.register(name, pwd, users);} else if (2.equals(str)) {// 此处可根据需求补充用户登录功能} else if (3.equals(str)) {// 退出操作System.out.println(退出成功);break;} else {System.out.println(选择错误);}}sc.close();}
}