请利用java知识修改以下代码并实现本地化以保证正常运行package OneProject;import javautilArrayList;import javautilList;import javautilResourceBundle;import javautilScanner;public class OnlineTrainingHub static int score = 0
修改后的代码如下:
package OneProject;
import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.ResourceBundle; import java.util.Scanner;
public class OnlineTrainingHub {
static int score = 0; // 用于记录用户的得分
static Scanner scanner = new Scanner(System.in);
static ResourceBundle bundle;
// 创建问题列表
static List<Question> questionList = createQuestionList();
public static void main(String[] args) {
// 加载资源文件
bundle = ResourceBundle.getBundle("OneProject.MessageBundle", Locale.getDefault());
System.out.println(bundle.getString("languageChoice"));
System.out.println("1." + bundle.getString("chinese") + " 2." + bundle.getString("english"));
int languageChoice = scanner.nextInt();
if (languageChoice == 1) {
System.out.println(bundle.getString("welcomeChinese"));
} else if (languageChoice == 2) {
System.out.println(bundle.getString("welcomeEnglish"));
}
// 进入身份选择页面
int roleChoice = showRoleChoicePage();
if (roleChoice == 1) {
// 进入管理员主页
int adminChoice;
do {
adminChoice = showAdminMainPage();
switch (adminChoice) {
case 1:
addQuestion();
break;
case 2:
viewQuestions();
break;
case 3:
int roleChoice1 = showRoleChoicePage();
if (roleChoice1 == 2) {
// 进入用户页面
int userChoice;
do {
userChoice = showUserMainPage();
switch (userChoice) {
case 1:
register();
break;
case 2:
login();
break;
case 3:
break;
default:
System.out.println(bundle.getString("invalidOption"));
break;
}
} while (userChoice != 3);
}
break;
default:
System.out.println(bundle.getString("invalidOption"));
break;
}
} while (adminChoice != 3);
} else if (roleChoice == 2) {
// 进入用户页面
int userChoice;
do {
userChoice = showUserMainPage();
switch (userChoice) {
case 1:
register();
break;
case 2:
login();
break;
case 3:
break;
default:
System.out.println(bundle.getString("invalidOption"));
break;
}
} while (userChoice != 3);
}
}
// 显示身份选择页面
public static int showRoleChoicePage() {
System.out.println(bundle.getString("roleChoice"));
System.out.println("1." + bundle.getString("admin") + " 2." + bundle.getString("user") + " 3."
+ bundle.getString("backToMain"));
return scanner.nextInt();
}
// 显示管理员主页
public static int showAdminMainPage() {
System.out.println(bundle.getString("adminGreeting"));
System.out.println(bundle.getString("adminOptions"));
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, bundle.getString("question") + i, bundle.getString("optionA"),
bundle.getString("optionB"), bundle.getString("optionC"), bundle.getString("optionD"));
questionList.add(question);
}
return questionList;
}
// 添加问题
public static void addQuestion() {
System.out.println(bundle.getString("inputQuestionId"));
int id = scanner.nextInt();
System.out.println(bundle.getString("inputQuestionContent"));
String content = scanner.next();
System.out.println(bundle.getString("inputOptionA"));
String optionA = scanner.next();
System.out.println(bundle.getString("inputOptionB"));
String optionB = scanner.next();
System.out.println(bundle.getString("inputOptionC"));
String optionC = scanner.next();
System.out.println(bundle.getString("inputOptionD"));
String optionD = scanner.next();
Question question = new Question(id, content, optionA, optionB, optionC, optionD);
questionList.add(question);
System.out.println(bundle.getString("addQuestionSuccess"));
}
// 查看问题
public static void viewQuestions() {
System.out.println(bundle.getString("allQuestions"));
for (Question question : questionList) {
System.out.println(question);
}
}
// 显示用户主页
public static int showUserMainPage() {
System.out.println(bundle.getString("userOptions"));
return scanner.nextInt();
}
// 用户注册
public static void register() {
System.out.println(bundle.getString("userWelcome"));
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("inputUserRole"));
String role = scanner.next();
System.out.println(bundle.getString("registerSuccess"));
}
// 用户登录
public static void login() {
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();
}
// 开始测验
public static void startQuiz() {
System.out.println(bundle.getString("startQuiz"));
for (int i = 0; i < 20; i++) {
System.out.println(bundle.getString("questionNumber") + (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("selectAnswer"));
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("totalQuestions") + "20");
System.out.println(bundle.getString("correctQuestions") + score);
System.out.println(bundle.getString("incorrectQuestions") + (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() { 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"; } }
需要创建一个名为MessageBundle的资源文件,其中包含了各种字符串的本地化信息,如下所示:
MessageBundle.properties
languageChoice=请选择语言: chinese=中文 english=英文 welcomeChinese=欢迎使用在线培训中心的测验管理系统! welcomeEnglish=Welcome to the Quiz Management System of Online Training Hub! roleChoice=请选择您的身份: admin=管理员 user=用户 backToMain=回到主界面 adminGreeting=管理员,您好! adminOptions=请选择您要进行的操作: addQuestion=添加问题 viewQuestions=查看问题 inputQuestionId=请输入问题编号: inputQuestionContent=请输入问题内容: inputOptionA=请输入选项A: inputOptionB=请输入选项B: inputOptionC=请输入选项C: inputOptionD=请输入选项D: addQuestionSuccess=问题添加成功! allQuestions=所有问题如下: userWelcome=欢迎注册在线培训中心的测验管理系统! inputUsername=请输入用户名: inputPassword=请输入密码: inputUserRole=请输入您的身份: registerSuccess=注册成功! userOptions=请选择您要进行的操作: startQuiz=请开始答题: questionNumber=第 questionId=问题编号: questionContent=问题内容: optionA=选项A: optionB=选项B: optionC=选项C: optionD=选项D: selectAnswer=请选择答案(A/B/C/D): invalidAnswer=
原文地址: https://www.cveoy.top/t/topic/hlSb 著作权归作者所有。请勿转载和采集!