修改页面

pull/1/head
smallbailangui 7 months ago
parent 0de644e4b9
commit db42c0e2b1

@ -26,17 +26,15 @@ public class ConsoleUI {
*
*/
public void run() {
//TODO:警告:(29, 9) 'while' 语句不能在未抛出异常的情况下完成
//TODO警告:(29, 9) 'while' 语句不能在未抛出异常的情况下完成
while (true) {
Optional<User> userOptional = handleLogin();
userOptional.ifPresent(this::showUserMenu);
}
}
// --- 以下方法与之前的Main类完全相同只是从static变为实例方法 ---
private Optional<User> handleLogin() {
printHeader("欢迎登录中小学数学卷子自动生成平台");
printHeader("用户登录"); // 统一标题格式
System.out.print("请输入用户名和密码 (用空格隔开): (输入 exit 退出程序)\n> ");
String line = scanner.nextLine();
@ -89,34 +87,38 @@ public class ConsoleUI {
}
}
/**
*
*/
private Level handleLevelSwitchMenu(Level currentLevel) {
printHeader("请选择难度级别");
System.out.println("1. 小学 (+, -, *, /, 括号)");
System.out.println("2. 初中 (包含平方、开根号)");
System.out.println("3. 高中 (包含三角函数)");
System.out.println("0. 返回主菜单");
printSeparator();
System.out.print("请选择 (0-3): ");
String choice = scanner.nextLine().trim();
Level newLevel = switch (choice) {
case "1" -> Level.PRIMARY;
case "2" -> Level.JUNIOR_HIGH;
case "3" -> Level.SENIOR_HIGH;
case "0" -> null;
default -> {
System.out.println("无效输入,请重新选择。");
yield currentLevel;
}
};
while (true) { // <-- 增加循环
printHeader("请选择难度级别");
System.out.println("1. 小学 (+, -, *, /, 括号)");
System.out.println("2. 初中 (包含平方、开根号)");
System.out.println("3. 高中 (包含三角函数)");
System.out.println("0. 返回主菜单");
printSeparator();
System.out.print("请选择 (0-3): ");
String choice = scanner.nextLine().trim();
if (newLevel != null && newLevel != currentLevel) {
System.out.println("难度已成功切换为 " + newLevel.getChineseName() + "。");
return newLevel;
} else if (newLevel == null) {
System.out.println("已返回主菜单。");
switch (choice) {
case "1":
System.out.println("难度已成功切换为 " + Level.PRIMARY.getChineseName() + "。");
return Level.PRIMARY; // 直接返回,退出循环
case "2":
System.out.println("难度已成功切换为 " + Level.JUNIOR_HIGH.getChineseName() + "。");
return Level.JUNIOR_HIGH; // 直接返回,退出循环
case "3":
System.out.println("难度已成功切换为 " + Level.SENIOR_HIGH.getChineseName() + "。");
return Level.SENIOR_HIGH; // 直接返回,退出循环
case "0":
System.out.println("已返回主菜单。");
return currentLevel; // 返回当前难度,退出循环
default:
// 如果输入无效,打印提示信息,循环将继续,要求用户重新输入
System.out.println("无效输入,请输入 0-3 之间的数字。");
}
}
return currentLevel;
}
private void handleGeneration(User user, Level currentLevel) {

Loading…
Cancel
Save