/** * */ package ProjectExam;

import java.util.ArrayList; import java.util.List; import java.util.Scanner;

/**

  • @author Lenovo

*/ public class OnlineTrainingHub { private static DBHelper dbHelper = new DBHelper();

/**
 * @param args
 */
public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println('欢迎来到OnlineTrainingHub!');
    System.out.println('请选择您的语言:');
    System.out.println('1.中文  2.English');
    int language = scanner.nextInt();
    switch (language) {
        case 1:
            System.out.println('中文界面');
            break;
        case 2:
            System.out.println('English Interface');
            break;
        default:
            System.out.println('输入错误!');
            return;
    }
    System.out.println('请选择您的身份:');
    System.out.println('1.管理员  2.用户');
    int role = scanner.nextInt();
    switch (role) {
        case 1:
            adminMenu();
            break;
        case 2:
            userMenu();
            break;
        default:
            System.out.println('输入错误!');
            return;
    }
}

private static void adminMenu() {
    Scanner scanner = new Scanner(System.in);
    System.out.println('管理员菜单:');
    System.out.println('1.添加问题  2.查看问题');
    int option = scanner.nextInt();
    switch (option) {
        case 1:
            addQuestion();
            break;
        case 2:
            viewQuestion();
            break;
        default:
            System.out.println('输入错误!');
            return;
    }
}

private static void addQuestion() {
    Scanner scanner = new Scanner(System.in);
    System.out.println('请输入问题编号:');
    int questionID = scanner.nextInt();
    scanner.nextLine(); //清空缓冲区
    System.out.println('请输入问题文本:');
    String questionText = scanner.nextLine();
    System.out.println('请输入选项A:');
    String optionA = scanner.nextLine();
    System.out.println('请输入选项B:');
    String optionB = scanner.nextLine();
    System.out.println('请输入选项C:');
    String optionC = scanner.nextLine();
    System.out.println('请输入选项D:');
    String optionD = scanner.nextLine();
    System.out.println('请输入答案(A/B/C/D):');
    String answer = scanner.nextLine();
    Question question = new Question(questionID, questionText, optionA, optionB, optionC, optionD, answer);
    dbHelper.addQuestion(question);
    System.out.println('问题添加成功!');
}

private static void viewQuestion() {
    List<Question> questionList = dbHelper.getQuestionList();
    for (Question question : questionList) {
        System.out.println('问题编号:' + question.getQuestionID());
        System.out.println('问题文本:' + question.getQuestionText());
        System.out.println('选项A:' + question.getOptionA());
        System.out.println('选项B:' + question.getOptionB());
        System.out.println('选项C:' + question.getOptionC());
        System.out.println('选项D:' + question.getOptionD());
        System.out.println('答案:' + question.getAnswer());
    }
}

private static void userMenu() {
    Scanner scanner = new Scanner(System.in);
    System.out.println('用户菜单:');
    System.out.println('1.注册  2.登录');
    int option = scanner.nextInt();
    switch (option) {
        case 1:
            register();
            break;
        case 2:
            login();
            break;
        default:
            System.out.println('输入错误!');
            return;
    }
}

private static void register() {
    Scanner scanner = new Scanner(System.in);
    System.out.println('请输入用户名:');
    String userName = scanner.nextLine();
    System.out.println('请输入用户ID:');
    String userID = scanner.nextLine();
    System.out.println('请输入密码:');
    String password = scanner.nextLine();
    User user = new User(userName, userID, password);
    dbHelper.addUser(user);
    System.out.println('注册成功!');
}

private static void login() {
    Scanner scanner = new Scanner(System.in);
    System.out.println('请输入用户ID:');
    String userID = scanner.nextLine();
    System.out.println('请输入密码:');
    String password = scanner.nextLine();
    User user = dbHelper.getUser(userID, password);
    if (user == null) {
        System.out.println('登录失败!');
        return;
    }
    quizScreen();
}

private static void quizScreen() {
    List<Question> questionList = dbHelper.getQuestionList();
    Scanner scanner = new Scanner(System.in);
    int totalQuestions = 20;
    int correct = 0;
    int incorrect = 0;
    for (int i = 0; i < totalQuestions; i++) {
        Question question = questionList.get(i);
        System.out.println('问题编号:' + question.getQuestionID());
        System.out.println('问题文本:' + question.getQuestionText());
        System.out.println('选项A:' + question.getOptionA());
        System.out.println('选项B:' + question.getOptionB());
        System.out.println('选项C:' + question.getOptionC());
        System.out.println('选项D:' + question.getOptionD());
        System.out.println('请输入答案(A/B/C/D):');
        String answer = scanner.nextLine();
        if (answer.equals(question.getAnswer())) {
            correct++;
        } else {
            incorrect++;
        }
    }
    double percentage = (double) correct / totalQuestions * 100;
    System.out.println('总问题数:' + totalQuestions);
    System.out.println('正确的:' + correct);
    System.out.println('不正确的:' + incorrect);
    System.out.println('百分比:' + percentage);
}

}

//用户类 public class User { private String userName; private String userID; private String password;

public User(String userName, String userID, String password) { this.userName = userName; this.userID = userID; this.password = password; }

public String getUserName() { return userName; }

public void setUserName(String userName) { this.userName = userName; }

public String getUserID() { return userID; }

public void setUserID(String userID) { this.userID = userID; }

public String getPassword() { return password; }

public void setPassword(String password) { this.password = password; } }

//问题类 public class Question { private int questionID; private String questionText; private String optionA; private String optionB; private String optionC; private String optionD; private String answer;

public Question(int questionID, String questionText, String optionA, String optionB, String optionC, String optionD, String answer) { this.questionID = questionID; this.questionText = questionText; this.optionA = optionA; this.optionB = optionB; this.optionC = optionC; this.optionD = optionD; this.answer = answer; }

public int getQuestionID() { return questionID; }

public void setQuestionID(int questionID) { this.questionID = questionID; }

public String getQuestionText() { return questionText; }

public void setQuestionText(String questionText) { this.questionText = questionText; }

public String getOptionA() { return optionA; }

public void setOptionA(String optionA) { this.optionA = optionA; }

public String getOptionB() { return optionB; }

public void setOptionB(String optionB) { this.optionB = optionB; }

public String getOptionC() { return optionC; }

public void setOptionC(String optionC) { this.optionC = optionC; }

public String getOptionD() { return optionD; }

public void setOptionD(String optionD) { this.optionD = optionD; }

public String getAnswer() { return answer; }

public void setAnswer(String answer) { this.answer = answer; } }

//管理员类 public class Admin { private List questionList;

public Admin() { questionList = new ArrayList<>(); }

public void addQuestion(Question question) { questionList.add(question); }

public List getQuestionList() { return questionList; } }

//MySQL数据库操作类 public class MySQLHelper { private Connection conn; private PreparedStatement ps; private ResultSet rs;

public MySQLHelper() { try { Class.forName('com.mysql.jdbc.Driver'); conn = DriverManager.getConnection('jdbc:mysql://localhost:3306/OnlineTrainingHub', 'root', 'password'); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } }

public void addUser(User user) { String sql = 'INSERT INTO User (userName, userID, password) VALUES (?, ?, ?)'; try { ps = conn.prepareStatement(sql); ps.setString(1, user.getUserName()); ps.setString(2, user.getUserID()); ps.setString(3, user.getPassword()); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } }

public User getUser(String userID, String password) { String sql = 'SELECT * FROM User WHERE userID=? AND password=?'; try { ps = conn.prepareStatement(sql); ps.setString(1, userID); ps.setString(2, password); rs = ps.executeQuery(); if (rs.next()) { String userName = rs.getString('userName'); return new User(userName, userID, password); } } catch (SQLException e) { e.printStackTrace(); } return null; }

public void addQuestion(Question question) { String sql = 'INSERT INTO Question (questionID, questionText, optionA, optionB, optionC, optionD, answer) VALUES (?, ?, ?, ?, ?, ?, ?)'; try { ps = conn.prepareStatement(sql); ps.setInt(1, question.getQuestionID()); ps.setString(2, question.getQuestionText()); ps.setString(3, question.getOptionA()); ps.setString(4, question.getOptionB()); ps.setString(5, question.getOptionC()); ps.setString(6, question.getOptionD()); ps.setString(7, question.getAnswer()); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } }

public List getQuestionList() { String sql = 'SELECT * FROM Question'; List questionList = new ArrayList<>(); try { ps = conn.prepareStatement(sql); rs = ps.executeQuery(); while (rs.next()) { int questionID = rs.getInt('questionID'); String questionText = rs.getString('questionText'); String optionA = rs.getString('optionA'); String optionB = rs.getString('optionB'); String optionC = rs.getString('optionC'); String optionD = rs.getString('optionD'); String answer = rs.getString('answer'); Question question = new Question(questionID, questionText, optionA, optionB, optionC, optionD, answer); questionList.add(question); } } catch (SQLException e) { e.printStackTrace(); } return questionList; } } //数据库帮助类 public class DBHelper { private MySQLHelper mySQLHelper;

public DBHelper() { mySQLHelper = new MySQLHelper(); }

public void addUser(User user) { mySQLHelper.addUser(user); }

public User getUser(String userID, String password) { return mySQLHelper.getUser(userID, password); }

public void addQuestion(Question question) { mySQLHelper.addQuestion(question); }

public List getQuestionList() { return mySQLHelper.getQuestionList(); }

Java 在线培训平台代码优化 - MySQLHelper 修改

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

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