在Java编程中,如何在学生ID重复时停止后续代码执行?

在Java编程中,如何在学生ID重复时停止后续代码执行?

Java程序:避免学生ID重复,优化代码执行

本文探讨如何在Java程序中,有效处理学生信息录入时ID重复的问题,避免重复输入其他信息。

问题: 现有代码在检测到学生ID重复后,仍然继续执行后续的姓名、年龄、地址录入流程。

改进方案: 通过改进数据结构和代码逻辑,在检测到ID重复时立即停止后续操作。

解决方案:

立即学习Java免费学习笔记(深入)”;

采用HashMap存储学生信息,以学生ID作为键,实现高效的ID重复性检查。 修改后的代码如下:

import java.util.HashMap; import java.util.Map; import java.util.Scanner;  public class StudentManager {      private static Map<String, Student> studentMap = new HashMap<>();      public static int addStudent() {         Scanner scanner = new Scanner(System.in);         System.out.print("请输入学生ID:");         String studentId = scanner.next();          if (studentMap.containsKey(studentId)) {             System.out.println("学生ID已存在,添加失败!");             return 0; // ID重复,立即返回         }          Student student = new Student();         student.setId(studentId);         System.out.print("请输入学生姓名:");         student.setName(scanner.next());         System.out.print("请输入学生年龄:");         student.setAge(scanner.nextInt());         System.out.print("请输入学生住址:");         student.setAddress(scanner.next());          studentMap.put(studentId, student);         System.out.println("学生信息添加成功!");         return 1;     }       public static class Student {         private String id;         private String name;         private int age;         private String address;          //getter and setter methods         public String getId() { return id; }         public void setId(String id) { this.id = id; }         public String getName() { return name; }         public void setName(String name) { this.name = name; }         public int getAge() { return age; }         public void setAge(int age) { this.age = age; }         public String getAddress() { return address; }         public void setAddress(String address) { this.address = address; }     }      public static void main(String[] args) {         addStudent();     } }

代码解释:

  1. 使用HashMap: studentMap 使用HashMap存储学生信息,键为学生ID,值为Student对象。HashMap 提供了containsKey() 方法,可以快速高效地检查ID是否存在。

  2. 提前检查ID: 在录入其他信息之前,立即使用studentMap.containsKey(studentId) 检查ID是否已存在。如果存在,则打印错误信息并立即返回,停止后续操作。

  3. 静态变量: studentMap 声明为静态变量,保证在多次调用addStudent() 方法时,数据可以被保留。

通过这些改进,程序能够在检测到ID重复时立即停止,避免了不必要的输入操作,提高了代码效率和用户体验。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享