import java.util.Scanner;

public class OnlineTrainingHub { // 声明管理员账号和密码 private static final String ADMIN_USERNAME = 'admin'; private static final String ADMIN_PASSWORD = 'admin123'; // 声明用户信息 private static String username; private static String userId; private static String password; // 声明问题数组 private static String[][] questions = new String[20][7]; // 声明计分变量 private static int score = 0;

public static void main(String[] args) {
    // 首页选择语言
    System.out.println('请选择语言:');
    System.out.println('1.中文 2.英文 3.退出');
    Scanner scanner = new Scanner(System.in);
    int languageChoice = scanner.nextInt();
    switch (languageChoice) {
        case 1:
            System.out.println('欢迎使用在线培训系统!');
            break;
        case 2:
            System.out.println('Welcome to Online Training Hub!');
            break;
        case 3:
            System.exit(0);
        default:
            System.out.println('输入有误,请重新选择!');
            break;
    }

    // 身份选择页面
    System.out.println('请选择您的身份:');
    System.out.println('1.管理员 2.用户');
    int identityChoice = scanner.nextInt();
    switch (identityChoice) {
        case 1:
            adminLogin();
            break;
        case 2:
            userLoginOrRegister();
            break;
        default:
            System.out.println('输入有误,请重新选择!');
            break;
    }
}

// 管理员登录
private static void adminLogin() {
    Scanner scanner = new Scanner(System.in);
    System.out.println('请输入管理员账号:');
    String adminUsername = scanner.nextLine();
    System.out.println('请输入管理员密码:');
    String adminPassword = scanner.nextLine();
    if (adminUsername.equals(ADMIN_USERNAME) && adminPassword.equals(ADMIN_PASSWORD)) {
        adminMainPage();
    } else {
        System.out.println('管理员账号或密码错误!');
        adminLogin();
    }
}

// 管理员主界面
private static void adminMainPage() {
    Scanner scanner = new Scanner(System.in);
    System.out.println('请选择操作:');
    System.out.println('1.添加问题 2.查看问题 3.退出');
    int adminChoice = scanner.nextInt();
    switch (adminChoice) {
        case 1:
            addQuestion();
            adminMainPage();
            break;
        case 2:
            viewQuestions();
            adminMainPage();
            break;
        case 3:
            System.exit(0);
        default:
            System.out.println('输入有误,请重新选择!');
            adminMainPage();
            break;
    }
}

// 添加问题
private static void addQuestion() {
    Scanner scanner = new Scanner(System.in);
    for (int i = 0; i < 20; i++) {
        System.out.println('请输入第' + (i + 1) + '个问题的信息:');
        System.out.println('问题编号:');
        questions[i][0] = scanner.nextLine();
        System.out.println('问题文本:');
        questions[i][1] = scanner.nextLine();
        System.out.println('选项A:');
        questions[i][2] = scanner.nextLine();
        System.out.println('选项B:');
        questions[i][3] = scanner.nextLine();
        System.out.println('选项C:');
        questions[i][4] = scanner.nextLine();
        System.out.println('选项D:');
        questions[i][5] = scanner.nextLine();
        System.out.println('答案(A/B/C/D):');
        questions[i][6] = scanner.nextLine();
    }
    System.out.println('问题添加成功!');
}

// 查看问题
private static void viewQuestions() {
    System.out.println('问题列表如下:');
    for (int i = 0; i < 20; i++) {
        System.out.println('问题编号:' + questions[i][0]);
        System.out.println('问题文本:' + questions[i][1]);
        System.out.println('选项A:' + questions[i][2]);
        System.out.println('选项B:' + questions[i][3]);
        System.out.println('选项C:' + questions[i][4]);
        System.out.println('选项D:' + questions[i][5]);
        System.out.println('答案:' + questions[i][6]);
        System.out.println('=====================');
    }
}

// 用户登录或注册
private static void userLoginOrRegister() {
    Scanner scanner = new Scanner(System.in);
    System.out.println('请选择操作:');
    System.out.println('1.注册 2.登录');
    int userChoice = scanner.nextInt();
    switch (userChoice) {
        case 1:
            System.out.println('请输入用户名:');
            username = scanner.nextLine();
            System.out.println('请输入用户ID:');
            userId = scanner.nextLine();
            System.out.println('请输入密码:');
            password = scanner.nextLine();
            System.out.println('注册成功!');
            userLogin();
            break;
        case 2:
            userLogin();
            break;
        default:
            System.out.println('输入有误,请重新选择!');
            userLoginOrRegister();
            break;
    }
}

// 用户登录
private static void userLogin() {
    Scanner scanner = new Scanner(System.in);
    System.out.println('请输入用户ID:');
    String inputUserId = scanner.nextLine();
    System.out.println('请输入密码:');
    String inputPassword = scanner.nextLine();
    if (inputUserId.equals(userId) && inputPassword.equals(password)) {
        quiz();
    } else {
        System.out.println('用户ID或密码错误!');
        userLogin();
    }
}

// 测验
private static void quiz() {
    Scanner scanner = new Scanner(System.in);
    System.out.println('请阅读以下说明:');
    System.out.println('1.问题总数20。');
    System.out.println('2.每个问题得分为1分,没有负号。');
    System.out.println('3.请从A/B/C/D中选择正确的答案。');
    System.out.println('4.单击此⻚⾯底部的“保存”按钮以提交您的答案。');
    System.out.println('5.要尝试下⼀个问题,请单击“下⼀步”。');
    System.out.println('一旦出现下⼀个问题,您将⽆法重新回答上⼀个问题。');
    System.out.println('按任意键开始测试...');
    scanner.nextLine();
    for (int i = 0; i < 20; i++) {
        System.out.println('问题编号:' + questions[i][0]);
        System.out.println('问题文本:' + questions[i][1]);
        System.out.println('选项A:' + questions[i][2]);
        System.out.println('选项B:' + questions[i][3]);
        System.out.println('选项C:' + questions[i][4]);
        System.out.println('选项D:' + questions[i][5]);
        System.out.println('请输入您的答案(A/B/C/D):');
        String answer = scanner.nextLine();
        if (answer.equals(questions[i][6])) {
            score++;
        }
        if (i == 19) {
            System.out.println('测验结束!');
            System.out.println('总问题数:' + 20);
            System.out.println('正确的:' + score);
            System.out.println('不正确的:' + (20 - score));
            System.out.println('百分比:' + ((double) score / 20 * 100) + '%');
        } else {
            System.out.println('下一题(按任意键继续)...');
            scanner.nextLine();
        }
    }
}

}

Java 在线考试系统开发:管理员、用户角色和测验功能实现

原文地址: https://www.cveoy.top/t/topic/oNgP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录