在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 分享