fork download
  1. import java.text.SimpleDateFormat;
  2. import java.util.Date;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import java.util.Scanner;
  6.  
  7. public class Main {
  8. // 模拟学生成绩数据
  9. private static final Map<String, String> studentData = new HashMap<>();
  10. private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  11.  
  12. static {
  13. // 初始化数据(可自行修改/添加)
  14. studentData.put("张三", "85");
  15. studentData.put("李四", "92");
  16. studentData.put("赵六", "88");
  17. }
  18.  
  19. public static void main(String[] args) {
  20. System.out.println("**XX第四次作业—学生成绩查询**"); // 替换XX为你的姓名
  21.  
  22. Scanner scanner = new Scanner(System.in);
  23. // 循环查询,直到输入exit
  24. while (scanner.hasNextLine()) { // 关键:先判断是否有输入,避免空输入异常
  25. System.out.print("请输入要查询的学生姓名(输入'exit'退出):");
  26. String name = scanner.nextLine().trim();
  27.  
  28. if ("exit".equalsIgnoreCase(name)) {
  29. System.out.println("程序已退出,感谢使用!");
  30. break;
  31. }
  32.  
  33. // 查询逻辑
  34. String result = studentData.containsKey(name)
  35. ? "学生" + name + "的成绩是:" + studentData.get(name)
  36. : "找不到学生" + name + "的成绩";
  37.  
  38. // 输出结果和日志
  39. System.out.println(result);
  40. String log = "[" + sdf.format(new Date()) + "] 查询结果:" + result;
  41. System.out.println("日志记录:" + log + "\n");
  42. }
  43. scanner.close();
  44. }
  45. }
Success #stdin #stdout 0.35s 61044KB
stdin
张三
李四
王五
exit
stdout
**XX第四次作业—学生成绩查询**
请输入要查询的学生姓名(输入'exit'退出):学生张三的成绩是:85
日志记录:[2025-12-23 01:01:19] 查询结果:学生张三的成绩是:85

请输入要查询的学生姓名(输入'exit'退出):学生李四的成绩是:92
日志记录:[2025-12-23 01:01:19] 查询结果:学生李四的成绩是:92

请输入要查询的学生姓名(输入'exit'退出):找不到学生王五的成绩
日志记录:[2025-12-23 01:01:19] 查询结果:找不到学生王五的成绩

请输入要查询的学生姓名(输入'exit'退出):程序已退出,感谢使用!