任务描述
本关任务:实现简易考试系统中新用户注册的功能。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 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;// 此类为整个通讯录的总控制,负责启动
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);// 请在下面的Begin-End之间编写正确的代码/********** Begin **********/} else if ("2".equals(str)) {System.out.println("请输入你的用户名:");String name = sc.next();System.out.println("请输入你的密码:");String pwd = sc.next();boolean flag = examManage.login(name, pwd, users);if (flag){System.out.println("选择考试科目");System.out.println("**********");System.out.println("1. 英语");System.out.println("2. 数学");System.out.println("3. 返回上一级菜单");System.out.println("4. 退出系统");System.out.println("5. 查询考试成绩");System.out.println("**********");break;}else {System.out.println("用户名或密码错误,登录失败!");} /********** End **********/} else if ("3".equals(str)) {// 退出操作System.out.println("退出成功!");break;} else {System.out.println("选择错误!");}}}
}