iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
自我挑戰組

Java 學生管理系統:打造可新增、刪除、修改、搜尋並保存資料的完整 CLI 應用 系列

本專案以 Java 為核心語言,開發一個可在終端機操作的學生管理系統。使用者可透過選單介面,新增、刪除、修改及查詢學生資料,並支援以姓名或學號進行搜尋、依年齡或姓名排序。系統資料透過檔案讀寫功能進行保存,確保重新啟動程式時仍能載入先前紀錄。專案設計採用物件導向架構,將資料模型、業務邏輯與使用者介面分層,提升程式可讀性與可維護性。
在開發過程中,將逐步實作資料持久化、例外處理、輸入驗證、單元測試及簡易報表輸出,並進行多輪重構與效能測試。最終成果不僅是一個功能完整的管理系統,也是一份展示 Java 核心語法(類別、集合、檔案 I/O、例外處理、泛型等)與軟體工程實踐的作品,適合用於學習紀錄與作品

參賽天數 24 天 | 共 24 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11: 新增 排序的功能

新增排序功能在student manager class,在管理多筆資料時,排序可以讓資料更有結構: 依年齡排序:快速找出最小/最大年齡依姓名排序:更方便查找...

2025-09-25 ‧ 由 hermesw714eb 分享
DAY 12

Day 12:新增查詢功能跟手動選擇輸入動作功能;

本來intended 要每個功能都可以搜但發現時間來不及所以就先放大概的架構然後卻search 的功能可以用;會要做search功能是單純覺得功能還能再多,然後...

2025-09-26 ‧ 由 hermesw714eb 分享
DAY 13

Day 13 透過setter method 更改 private field

什麼是 Setter Method? Setter 是一種 method,用來「設定 (set) / 修改」一個物件的 field (屬性)。在 OOP 設計裡...

2025-09-27 ‧ 由 hermesw714eb 分享
DAY 14

Day14:完善CLI interface 跟新switch 用法的掌握

今天要製作CLI 也就是cammand line interface 方便之後的測試跟操作由於今天單純改都會的東西,後面又稍微看了一些filewriter 之類...

2025-09-28 ‧ 由 hermesw714eb 分享
DAY 15

Day 15: learning about "filewriter"

為什麼要學會用 FileWriter?之前的student資料都只存在 記憶體 (RAM),程式一關就消失,FileWriter 可以把文字資料寫進檔案 (例如...

2025-09-29 ‧ 由 hermesw714eb 分享
DAY 16

Day 16: FileReader + BufferedReader

昨天用 FileWriter 把學生資料寫進 students.txt。但是程式重新啟動後,如果不讀檔記憶體會是空的,所以要學這個。 FileReader+Bu...

2025-09-30 ‧ 由 hermesw714eb 分享
DAY 17

Day 17完成資料儲存功能(存 CSV)

為什麼要用 CSV?CSV (Comma-Separated Values):是以逗號分隔的文字檔格式好處:人類易讀Excel、Google Sheets 也能...

2025-10-01 ‧ 由 hermesw714eb 分享
DAY 18

Day 18:程式automatically初始化

Why do we need 初始化呢呢呢之前我們start run 程式的時候,我們在沒有創txt檔或手動讀txt檔的時候背景是空的會error,而現在我們要...

2025-10-02 ‧ 由 hermesw714eb 分享
DAY 19

Day 19:學 泛型 Generics,以便StudentManager 支援泛型 Generics 把 ArrayList<Student> 改寫成可重用的泛型容器

今天要學 Generics(泛型)把 ArrayList 抽象成可重用容器,然後明天實作。 首先為什麼要用 Generics?Type safety:在編譯期就...

2025-10-03 ‧ 由 hermesw714eb 分享
DAY 20

Day 20 : 透過Lambda、Comparator、Stream API、Enum、exception 對整體做優化

優化都發生在 StudentManager跟Main: Studnetmanager的優化: StudentManager 的改動:1.Lambda + Met...

2025-10-04 ‧ 由 hermesw714eb 分享