请利用java知识修改以下代码以实现中文和英文的转换并保证正确运行package OneProject;import javautilArrayList;import javautilList;import javautilResourceBundle;import javautilScanner;public class OnlineTrainingHub static int scor
修改如下:
-
添加中英文语言资源文件,命名为lang_zh_CN.properties和lang_en_US.properties。
-
修改main方法中的语言选择和输出内容,使用ResourceBundle类获取对应的语言资源文件,并根据语言选择输出对应的内容。
-
在Question类中添加中英文资源文件,修改toString方法,使用ResourceBundle类获取对应的语言资源文件,并根据语言选择输出对应的内容。
-
修改register方法中的输出内容,使用ResourceBundle类获取对应的语言资源文件,并根据语言选择输出对应的内容。
-
修改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"; }
原文地址: https://www.cveoy.top/t/topic/hlSt 著作权归作者所有。请勿转载和采集!