Java 在线培训中心测验管理系统 多语言实现
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 ResourceBundle bundle;
// 创建问题列表
static List<Question> questionList = createQuestionList();
public static void main(String[] args) {
System.out.println("请选择语言:");
System.out.println("1.中文 2.英文");
int languageChoice = scanner.nextInt();
if (languageChoice == 1) {
bundle = ResourceBundle.getBundle("OneProject.i18n.Messages_zh_CN");
} else if (languageChoice == 2) {
bundle = ResourceBundle.getBundle("OneProject.i18n.Messages_en_US");
}
System.out.println(bundle.getString("welcome"));
// 进入身份选择页面
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("invalidChoice"));
}
} while (userChoice != 3);
} else {
System.out.println(bundle.getString("invalidChoice"));
}
break;
case 4:
break;
default:
System.out.println(bundle.getString("invalidChoice"));
}
} while (adminChoice != 4);
} 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("invalidChoice"));
}
} while (userChoice != 3);
} else {
System.out.println(bundle.getString("invalidChoice"));
}
}
// 创建问题列表
public static List<Question> createQuestionList() {
List<Question> questionList = new ArrayList<>();
questionList.add(new Question('Which is the largest continent in the world?', 'Asia', 'Europe', 'Africa', 'North America', 'A'));
questionList.add(new Question('What is the capital city of Australia?', 'Sydney', 'Melbourne', 'Canberra', 'Brisbane', 'C'));
questionList.add(new Question('What is the name of the longest river in Africa?', 'Nile', 'Congo', 'Zambezi', 'Niger', 'A'));
questionList.add(new Question('Who is the author of the Harry Potter series?', 'J.K. Rowling', 'Stephenie Meyer', 'George R.R. Martin', 'J.R.R. Tolkien', 'A'));
questionList.add(new Question('What is the name of the highest mountain in the world?', 'K2', 'Mount Everest', 'Makalu', 'Lhotse', 'B'));
return questionList;
}
// 显示身份选择页面
public static int showRoleChoicePage() {
System.out.println(bundle.getString("selectRole"));
System.out.println("1. " + bundle.getString("admin"));
System.out.println("2. " + bundle.getString("user"));
int roleChoice = scanner.nextInt();
return roleChoice;
}
// 显示管理员主页
public static int showAdminMainPage() {
System.out.println(bundle.getString("adminMain"));
System.out.println("1. " + bundle.getString("addQuestion"));
System.out.println("2. " + bundle.getString("viewQuestions"));
System.out.println("3. " + bundle.getString("switchToUser"));
System.out.println("4. " + bundle.getString("exit"));
int adminChoice = scanner.nextInt();
return adminChoice;
}
// 添加问题
public static void addQuestion() {
System.out.println(bundle.getString("addQuestion"));
System.out.print(bundle.getString("enterQuestion"));
String question = scanner.next();
System.out.print(bundle.getString("optionA"));
String optionA = scanner.next();
System.out.print(bundle.getString("optionB"));
String optionB = scanner.next();
System.out.print(bundle.getString("optionC"));
String optionC = scanner.next();
System.out.print(bundle.getString("optionD"));
String optionD = scanner.next();
System.out.print(bundle.getString("correctAnswer"));
String correctAnswer = scanner.next().toUpperCase();
questionList.add(new Question(question, optionA, optionB, optionC, optionD, correctAnswer));
System.out.println(bundle.getString("questionAdded"));
}
// 查看问题列表
public static void viewQuestions() {
System.out.println(bundle.getString("viewQuestions"));
for (int i = 0; i < questionList.size(); i++) {
System.out.println((i + 1) + ". " + questionList.get(i));
}
}
// 显示用户主页
public static int showUserMainPage() {
System.out.println(bundle.getString("userMain"));
System.out.println("1. " + bundle.getString("register"));
System.out.println("2. " + bundle.getString("login"));
System.out.println("3. " + bundle.getString("exit"));
int userChoice = scanner.nextInt();
return userChoice;
}
// 用户注册
public static void register() {
System.out.println(bundle.getString("register"));
System.out.print(bundle.getString("enterUsername"));
String username = scanner.next();
System.out.print(bundle.getString("enterPassword"));
String password = scanner.next();
User user = new User(username, password);
if (UserDatabase.addUser(user)) {
System.out.println(bundle.getString("registrationSuccess"));
} else {
System.out.println(bundle.getString("registrationFail"));
}
}
// 用户登录
public static void login() {
System.out.println(bundle.getString("login"));
System.out.print(bundle.getString("enterUsername"));
String username = scanner.next();
System.out.print(bundle.getString("enterPassword"));
String password = scanner.next();
if (UserDatabase.authenticateUser(username, password)) {
System.out.println(bundle.getString("loginSuccess"));
takeQuiz();
} else {
System.out.println(bundle.getString("loginFail"));
}
}
// 参加测验
public static void takeQuiz() {
score = 0;
for (int i = 0; i < questionList.size(); i++) {
System.out.println((i + 1) + ". " + questionList.get(i).getQuestion());
System.out.println(bundle.getString("optionA") + ": " + questionList.get(i).getOptionA());
System.out.println(bundle.getString("optionB") + ": " + questionList.get(i).getOptionB());
System.out.println(bundle.getString("optionC") + ": " + questionList.get(i).getOptionC());
System.out.println(bundle.getString("optionD") + ": " + questionList.get(i).getOptionD());
System.out.print(bundle.getString("answer"));
String answer = scanner.next().toUpperCase();
if (answer.equals(questionList.get(i).getCorrectAnswer())) {
score++;
System.out.println(bundle.getString("correctAnswer"));
} else {
System.out.println(bundle.getString("wrongAnswer"));
}
}
System.out.println(bundle.getString("score") + ": " + score);
}
}
原文地址: https://www.cveoy.top/t/topic/oOEU 著作权归作者所有。请勿转载和采集!