修改如下:

  1. 添加中英文语言资源文件,命名为lang_zh_CN.properties和lang_en_US.properties。

  2. 修改main方法中的语言选择和输出内容,使用ResourceBundle类获取对应的语言资源文件,并根据语言选择输出对应的内容。

  3. 在Question类中添加中英文资源文件,修改toString方法,使用ResourceBundle类获取对应的语言资源文件,并根据语言选择输出对应的内容。

  4. 修改register方法中的输出内容,使用ResourceBundle类获取对应的语言资源文件,并根据语言选择输出对应的内容。

  5. 修改startQuiz方法中的输出内容,使用ResourceBundle类获取对应的语言资源文件,并根据语言选择输出对应的内容。

修改后的代码如下:

package OneProject;

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

public class OnlineTrainingHub {

static int score = 0; // 用于记录用户的得分
static Scanner scanner = new Scanner(System.in);

// 创建问题列表
static List<Question> questionList = createQuestionList();

public static void main(String[] args) {
    ResourceBundle bundle = null;
    System.out.println("请选择语言:");
    System.out.println("1.中文 2.英文");
    int languageChoice = scanner.nextInt();
    if (languageChoice == 1) {
        bundle = ResourceBundle.getBundle("lang_zh_CN");
    } else if (languageChoice == 2) {
        bundle = ResourceBundle.getBundle("lang_en_US");
    }

    System.out.println(bundle.getString("welcome"));

    // 进入身份选择页面
    int roleChoice = showRoleChoicePage(bundle);
    if (roleChoice == 1) {
        // 进入管理员主页
        int adminChoice;
        do {
            adminChoice = showAdminMainPage(bundle);
            switch (adminChoice) {
                case 1:
                    addQuestion();
                    break;
                case 2:
                    viewQuestions();
                    break;
                case 3:
                    int roleChoice1 = showRoleChoicePage(bundle);
                    if (roleChoice1 == 2) {
                        // 进入用户页面
                        int userChoice;
                        do {
                            userChoice = showUserMainPage(bundle);
                            switch (userChoice) {
                                case 1:
                                    register(bundle);
                                    break;
                                case 2:
                                    login(bundle);
                                    break;
                                case 3:
                                    break;
                                default:
                                    System.out.println(bundle.getString("invalidChoice"));
                                    break;
                            }
                        } while (userChoice != 3);
                    }
                    break;
                default:
                    System.out.println(bundle.getString("invalidChoice"));
                    break;
            }
        } while (adminChoice != 3);
    } else if (roleChoice == 2) {
        // 进入用户页面
        int userChoice;
        do {
            userChoice = showUserMainPage(bundle);
            switch (userChoice) {
                case 1:
                    register(bundle);
                    break;
                case 2:
                    login(bundle);
                    break;
                case 3:
                    break;
                default:
                    System.out.println(bundle.getString("invalidChoice"));
                    break;
            }
        } while (userChoice != 3);
    }
}

// 显示身份选择页面
public static int showRoleChoicePage(ResourceBundle bundle) {
    System.out.println(bundle.getString("chooseIdentity"));
    System.out.println("1. " + bundle.getString("admin") + " 2. " + bundle.getString("user") + " 3. " + bundle.getString("back"));
    return scanner.nextInt();
}

// 显示管理员主页
public static int showAdminMainPage(ResourceBundle bundle) {
    System.out.println(bundle.getString("adminHello"));
    System.out.println(bundle.getString("chooseOperation"));
    System.out.println("1. " + bundle.getString("addQuestion") + " 2. " + bundle.getString("viewQuestion") + " 3. " + bundle.getString("exit"));
    return scanner.nextInt();
}

/**
 * 创建问题列表
 */
public static List<Question> createQuestionList() {
    List<Question> questionList = new ArrayList<>();
    for (int i = 1; i <= 20; i++) {
        Question question = new Question(i, "问题" + i, "选项A", "选项B", "选项C", "选项D");
        questionList.add(question);
    }
    return questionList;
}

// 添加问题
public static void addQuestion() {
    System.out.println("请输入问题编号:");
    int id = scanner.nextInt();
    System.out.println("请输入问题内容:");
    String content = scanner.next();
    System.out.println("请输入选项A:");
    String optionA = scanner.next();
    System.out.println("请输入选项B:");
    String optionB = scanner.next();
    System.out.println("请输入选项C:");
    String optionC = scanner.next();
    System.out.println("请输入选项D:");
    String optionD = scanner.next();
    Question question = new Question(id, content, optionA, optionB, optionC, optionD);
    questionList.add(question);
    System.out.println("问题添加成功!");
}

// 查看问题
public static void viewQuestions() {
    System.out.println("所有问题如下:");
    for (Question question : questionList) {
        System.out.println(question);
    }
}

// 显示用户主页
public static int showUserMainPage(ResourceBundle bundle) {
    System.out.println(bundle.getString("chooseOperation"));
    System.out.println("1. " + bundle.getString("register") + " 2. " + bundle.getString("login") + " 3. " + bundle.getString("back"));
    return scanner.nextInt();
}

// 用户注册
public static void register(ResourceBundle bundle) {
    System.out.println(bundle.getString("welcomeRegister"));
    System.out.println(bundle.getString("inputUsername"));
    String username = scanner.next();
    System.out.println(bundle.getString("inputPassword"));
    String password = scanner.next();
    System.out.println(bundle.getString("inputRole"));
    String role = scanner.next();
    System.out.println(bundle.getString("registerSuccess"));
}

// 用户登录
public static void login(ResourceBundle bundle) {
    System.out.println(bundle.getString("inputUsername"));
    String username = scanner.next();
    System.out.println(bundle.getString("inputPassword"));
    String password = scanner.next();
    System.out.println(bundle.getString("loginSuccess"));
    startQuiz(bundle);
}

// 开始测验
public static void startQuiz(ResourceBundle bundle) {
    System.out.println(bundle.getString("startQuiz"));
    for (int i = 0; i < 20; i++) {
        System.out.println(bundle.getString("question") + (i + 1) + ":");
        Question question = questionList.get(i);
        System.out.println(bundle.getString("questionId") + question.getId());
        System.out.println(bundle.getString("questionContent") + question.getContent());
        System.out.println(bundle.getString("optionA") + question.getOptionA());
        System.out.println(bundle.getString("optionB") + question.getOptionB());
        System.out.println(bundle.getString("optionC") + question.getOptionC());
        System.out.println(bundle.getString("optionD") + question.getOptionD());
        System.out.println(bundle.getString("chooseAnswer"));
        String answer = scanner.next().toUpperCase();
        if (answer.equals("A") || answer.equals("B") || answer.equals("C") || answer.equals("D")) {
            if (answer.equals("A")) {
                answer = question.getOptionA();
            } else if (answer.equals("B")) {
                answer = question.getOptionB();
            } else if (answer.equals("C")) {
                answer = question.getOptionC();
            } else {
                answer = question.getOptionD();
            }
            if (answer.equals(bundle.getString("optionA"))) {
                score++;
            }
        } else {
            System.out.println(bundle.getString("invalidAnswer"));
            i--;
        }
    }
    System.out.println(bundle.getString("quizEnd"));
    System.out.println(bundle.getString("totalQuestion") + "20");
    System.out.println(bundle.getString("correctQuestion") + score);
    System.out.println(bundle.getString("incorrectQuestion") + (20 - score));
    System.out.println(bundle.getString("score") + score + "/20");
}

}

/**

  • 问题类 */ class Question { private int id; private String content; private String optionA; private String optionB; private String optionC; private String optionD;

    public Question(int i, String content, String optionA, String optionB, String optionC, String optionD) { this.id = i; this.content = content; this.optionA = optionA; this.optionB = optionB; this.optionC = optionC; this.optionD = optionD; }

    public int getId() { return id; }

    public String getContent() { return content; }

    public String getOptionA() { return optionA; }

    public String getOptionB() { return optionB; }

    public String getOptionC() { return optionC; }

    public String getOptionD() { return optionD; }

    @Override public String toString() { ResourceBundle bundle = null; if (OnlineTrainingHub.score == 0) { bundle = ResourceBundle.getBundle("lang_zh_CN"); } else { bundle = ResourceBundle.getBundle("lang_en_US"); } return bundle.getString("questionId") + id + "\n" + bundle.getString("questionContent") + content + "\n" + bundle.getString("optionA") + optionA + "\n" + bundle.getString("optionB") + optionB + "\n" + bundle.getString("optionC") + optionC + "\n" + bundle.getString("optionD") + optionD + "\n"; }

请利用java知识修改以下代码以实现中文和英文的转换并保证正确运行package OneProject;import javautilArrayList;import javautilList;import javautilResourceBundle;import javautilScanner;public class OnlineTrainingHub static int scor

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

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