高效代碼:條件控制與輸入優化
程序設計中,巧妙運用條件控制語句能有效避免冗余輸入,提升代碼效率。本文以學生信息錄入為例,講解如何優化代碼,避免在學生ID重復時重復輸入姓名、年齡和住址等信息。
原始代碼存在以下問題:ArrayList
改進后的代碼如下:
public static int addStudent(Student a, ArrayList<Student> list) { Scanner sc = new Scanner(System.in); Student st = new Student(); int temp = 0; // 判斷是否添加成功 System.out.println("請輸入學生id"); String inputId = sc.next(); // 檢查ID是否重復 for (Student s : list) { if (inputId.equals(s.getId())) { System.out.println("學生ID已存在!"); return temp; // ID重復,直接返回 } } st.setId(inputId); System.out.println("請輸入學生姓名"); st.setName(sc.next()); System.out.println("請輸入學生年齡"); st.setAge(sc.nextInt()); System.out.println("請輸入學生住址"); st.setAddress(sc.nextLine()); // 使用 nextLine() 讀取整行輸入,避免換行符干擾 temp = 1; list.add(st); // 添加學生信息到列表 return temp; }
關鍵改進:
-
外部傳入學生列表: 將ArrayList
list作為參數傳入函數,避免每次調用都重新創建列表,確保ID重復檢查基于全局學生信息。 -
提前讀取ID: 將ID輸入單獨處理,存儲在inputId變量中,避免輸入錯位。
-
使用nextLine(): 在讀取住址時使用sc.nextLine(),避免nextInt()留下換行符干擾后續輸入。
-
添加學生信息: 在成功添加學生信息后,將st添加到list中。
-
提示信息: 添加了ID重復的提示信息,提升用戶體驗。
通過這些改進,代碼邏輯清晰,避免了不必要的輸入操作,提高了代碼效率和可維護性。 建議開發者熟練使用調試工具,例如斷點調試,幫助理解代碼執行流程,及時發現并解決問題。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END