简易考试系统第5关:简易考试系统之成绩查询

发布时间:2023年12月27日
任务描述

本关任务:实现用户查询成绩的功能。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中实现用户查询成绩的功能,具体要求如下:

  • 当用户选择考试科目时,获取键盘输入,实现 5 的功能;

  • 当键盘输入的值为 5,调用 ExamManage 类的 show(name,pwd,users),将所需参数传入该方法中;

  • show 方法携带 3 个参数,分别为:用户名称、用户密码、用户数组,该方法实现了查询该用户成绩的功能;

  • mathExam 方法中首先输出:“用户名称 英语成绩 数学成绩”,分隔符为 tab 键;

  • 查找该用户的成绩信息,输出格式:“x1 x2 x3”,这些值依次为:用户名称、英语成绩、数学成绩,保留 1 位小数,用 tab 分隔符分隔。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。

测试输入:

 
  1. 1
  2. sunfeng
  3. 123456
  4. 2
  5. sunfeng
  6. 123456
  7. 2
  8. a,a
  9. 1
  10. a,c
  11. 5
  12. 4

预期输出:

 
  1. 线上考试系统
  2. **********
  3. 1. 新用户注册
  4. 2. 用户登录
  5. 3. 退出系统
  6. **********
  7. 请输入选择的操作:
  8. 请输入你要注册的用户名:
  9. 请输入你要注册的密码:
  10. 线上考试系统
  11. **********
  12. 1. 新用户注册
  13. 2. 用户登录
  14. 3. 退出系统
  15. **********
  16. 请输入选择的操作:
  17. 请输入你的用户名:
  18. 请输入你的密码:
  19. 选择考试科目
  20. **********
  21. 1. 英语
  22. 2. 数学
  23. 3. 返回上一级菜单
  24. 4. 退出系统
  25. 5. 查询考试成绩
  26. **********
  27. 请输入选择的操作:
  28. 欢迎参加数学考试,开始答卷
  29. 1. 求1+1的结果为:
  30. A. 1 B. 0 C. 2 D. 以上都不正确
  31. 2. 下列选项中,哪个不属于偶数?
  32. A. 1 B. 2 C. 0 D. 4
  33. 请输入答案,答案之间用英文逗号分开
  34. 选择考试科目
  35. **********
  36. 1. 英语
  37. 2. 数学
  38. 3. 返回上一级菜单
  39. 4. 退出系统
  40. 5. 查询考试成绩
  41. **********
  42. 请输入选择的操作:
  43. 欢迎参加英语考试,开始答卷
  44. 1. 阿拉伯数字“1”用英语怎么说:
  45. A. one B. oen C. two D. onel
  46. 2. 阿拉伯数字“2”用英语怎么说:
  47. A. tow B. oen C. two D. town
  48. 请输入答案,答案之间用英文逗号分开
  49. 选择考试科目
  50. **********
  51. 1. 英语
  52. 2. 数学
  53. 3. 返回上一级菜单
  54. 4. 退出系统
  55. 5. 查询考试成绩
  56. **********
  57. 请输入选择的操作:
  58. 用户名称 英语成绩 数学成绩
  59. sunfeng 10.0 0.0
  60. 选择考试科目
  61. **********
  62. 1. 英语
  63. 2. 数学
  64. 3. 返回上一级菜单
  65. 4. 退出系统
  66. 5. 查询考试成绩
  67. **********
  68. 请输入选择的操作:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
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);

            } 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){

                    while (true) {
                        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("**********");
                        System.out.println("请输入选择的操作:");
                        // 获取键盘输入
                        String s = sc.next();
                        if ("1".equals(s)) {
                            System.out.println("欢迎参加英语考试,开始答卷");
                            // 读取文件内容并打印出来
                            try {
                                BufferedReader in = new BufferedReader(new FileReader("/root/english.txt"));
                                String text;
                                while ((text = in.readLine()) != null) {
                                    System.out.println(text);
                                }
                                System.out.println("请输入答案,答案之间用英文逗号分开");
                                // 获取键盘输入的答案,并将其转化为大写字母
                                String answers = sc.next().toUpperCase();
                                examManage.engExam(answers,name,pwd,users);
                            } catch (IOException e) {
                                e.printStackTrace();
                            }

                        }else if ("2".equals(s)){

                            System.out.println("欢迎参加数学考试,开始答卷");
                            // 读取文件内容并打印出来
                            try {
                                BufferedReader in = new BufferedReader(new FileReader("/root/math.txt"));
                                String text;
                                while ((text = in.readLine()) != null) {
                                    System.out.println(text);
                                }
                                System.out.println("请输入答案,答案之间用英文逗号分开");
                                // 获取键盘输入的答案,并将其转化为大写字母
                                String answers = sc.next().toUpperCase();
                                examManage.mathExam(answers,name,pwd,users);

                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                        }else if ("3".equals(s)){
                            break;
                        }else if ("4".equals(s)){
                            System.exit(0);
                        }else if ("5".equals(s)){
                            // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
                            /********** Begin **********/
                            // 调用 show 方法,实现查询用户的功能
                            examManage.show(name,pwd,users);
                            
                            /********** End **********/
                        }
                    }
                }else {
                    System.out.println("用户名或密码错误,登录失败!");
                }
            } else if ("3".equals(str)) {
                // 退出操作
                System.out.println("退出成功!");
                break;
            } else {
                System.out.println("选择错误!");
            }
        }
    }
}

文章来源:https://blog.csdn.net/m0_57322261/article/details/135248831
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。