Update ExamSystem.java

pull/2/head
hnu202326010305 5 days ago
parent 10cb5d4340
commit bfb9eecf0f

@ -1,59 +1,63 @@
import java.util.Scanner; import java.util.Scanner;
public class ExamSystem { public class ExamSystem {
private final Scanner scanner = new Scanner(System.in); private final Scanner scanner = new Scanner(System.in);
public Users login() { public Users login() {
Users users = null; Users users = null;
while (users == null) { while (users == null) {
System.out.print("请输入用户名和密码: "); System.out.print("请输入用户名和密码: ");
String input = scanner.nextLine(); String input = scanner.nextLine();
String[] parts = input.split(" "); String[] parts = input.split(" ");
if (parts.length == 2) { if (parts.length == 2) {
users = Users.login(parts[0], parts[1]); users = Users.login(parts[0], parts[1]);
} }
if (users == null) { if (users == null) {
System.out.println("请输入正确的用户名、密码"); System.out.println("请输入正确的用户名、密码");
} }
} }
System.out.println("当前选择为" + users.getType() + "出题"); System.out.println("当前选择为" + users.getType() + "出题");
return users; return users;
} }
public void generateProblems(Users users) { public void generateProblems(Users users) {
while (true) { while (true) {
String input = scanner.nextLine().trim();
System.out.print("准备生成" + users.getType() if (input.equals("-1")) {
+ "数学题目,请输入生成题目数量(输入-1将退出当前用户重新登录"); break;
String input = scanner.nextLine().trim(); }
if (input.equals("-1")) { ProblemsGenerator generator = switch (users.getType()) {
break; case "小学" -> new PrimaryProblem();
} case "初中" -> new JuniorProblem();
case "高中" -> new SeniorProblem();
ProblemsGenerator generator = switch (users.getType()) { default -> null;
case "小学" -> new PrimaryProblem(); };
case "初中" -> new JuniorProblem();
case "高中" -> new SeniorProblem(); if (input.startsWith("切换为")) {
default -> null; String target = input.replace("切换为", "");
}; if (target.equals("小学") || target.equals("初中") || target.equals("高中")) {
users = new Users(users.getName(), users.getPassword(), target);
if (input.startsWith("切换为")) { System.out.print("系统提示:准备生成" + users.getType()
String target = input.replace("切换为", ""); + "数学题目,请输入生成题目数量(输入-1将退出当前用户重新登录");
if (target.equals("小学") || target.equals("初中") || target.equals("高中")) { } else {
users = new Users(users.getName(), users.getPassword(), target); System.out.println("请输入小学、初中和高中三个选项中的一个");
System.out.println("系统提示:准备生成" + users.getType() + "数学题目"); }
} else { continue;
System.out.println("请输入小学、初中和高中三个选项中的一个"); }
}
continue; try {
} int num = Integer.parseInt(input);
if (num >= 10 && num <= 30 && generator != null) {
int num = Integer.parseInt(input); Generator.generate(users, num, generator);
if (num >= 10 && num <= 30 && generator != null) { } else {
Generator.generate(users, num, generator); System.out.println("请输入 10-30 之间的数字");
} else { }
System.out.println("请输入 10-30 之间的数字"); } catch (NumberFormatException e) {
} System.out.println("请输入小学、初中和高中三个选项中的一个");
} }
}
} System.out.print("准备生成" + users.getType()
+ "数学题目,请输入生成题目数量(输入-1将退出当前用户重新登录");
}
}
}

Loading…
Cancel
Save