本关任务:实现简易考试系统中新用户登录的功能。
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中实现简易考试系统中用户登录的功能,具体要求如下:
在 MenuExam.java 中实现第二个选项,也就是用户登录的功能;
获取键盘输入的值,如果为 2,首先输出“请输入你的用户名:”,获取键盘输入的用户名,再输出“请输入你的密码:”,获取键盘输入的密码,然后调用 ExamManage.java 文件中的 login(String name, String pwd, User[] users) 方法,将该方法所需参数传入;
login 方法携带三个参数,分别为:用户名、密码和用户数组,该方法实现用户登录的功能,返回值为 boolean 类型;
在该方法中判断用户数组中是否存在该用户,如果存在,返回 true,否则返回 false;
回到 MenuExam 类中,判断 login 方法的返回值,如果为 false,输出:“用户名或密码错误,登录失败!”;
如果为 true,输出以下内容后退出程序。
选择考试科目
**********
1. 英语
2. 数学
3. 返回上一级菜单
4. 退出系统
5. 查询考试成绩
**********
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。
测试输入:
1
sunfeng
123456
2
sunning
123456
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("选择错误!");
}
}
}
}