本文探讨如何在Java程序中,有效处理学生信息录入时ID重复的问题,避免重复输入其他信息。
问题: 现有代码在检测到学生ID重复后,仍然继续执行后续的姓名、年龄、地址录入流程。
改进方案: 通过改进数据结构和代码逻辑,在检测到ID重复时立即停止后续操作。
解决方案:
采用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();
}
}
代码解释:
-
使用HashMap: studentMap 使用HashMap存储学生信息,键为学生ID,值为Student对象。HashMap 提供了containsKey() 方法,可以快速高效地检查ID是否存在。
-
提前检查ID: 在录入其他信息之前,立即使用studentMap.containsKey(studentId) 检查ID是否已存在。如果存在,则打印错误信息并立即返回,停止后续操作。
-
静态变量: studentMap 声明为静态变量,保证在多次调用addStudent() 方法时,数据可以被保留。
通过这些改进,程序能够在检测到ID重复时立即停止,避免了不必要的输入操作,提高了代码效率和用户体验。
以上就是在Java编程中,如何在学生ID重复时停止后续代码执行?的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论