本專案以 Java 為核心語言,開發一個可在終端機操作的學生管理系統。使用者可透過選單介面,新增、刪除、修改及查詢學生資料,並支援以姓名或學號進行搜尋、依年齡或姓名排序。系統資料透過檔案讀寫功能進行保存,確保重新啟動程式時仍能載入先前紀錄。專案設計採用物件導向架構,將資料模型、業務邏輯與使用者介面分層,提升程式可讀性與可維護性。
在開發過程中,將逐步實作資料持久化、例外處理、輸入驗證、單元測試及簡易報表輸出,並進行多輪重構與效能測試。最終成果不僅是一個功能完整的管理系統,也是一份展示 Java 核心語法(類別、集合、檔案 I/O、例外處理、泛型等)與軟體工程實踐的作品,適合用於學習紀錄與作品
新增排序功能在student manager class,在管理多筆資料時,排序可以讓資料更有結構: 依年齡排序:快速找出最小/最大年齡依姓名排序:更方便查找...
本來intended 要每個功能都可以搜但發現時間來不及所以就先放大概的架構然後卻search 的功能可以用;會要做search功能是單純覺得功能還能再多,然後...
什麼是 Setter Method? Setter 是一種 method,用來「設定 (set) / 修改」一個物件的 field (屬性)。在 OOP 設計裡...
今天要製作CLI 也就是cammand line interface 方便之後的測試跟操作由於今天單純改都會的東西,後面又稍微看了一些filewriter 之類...
為什麼要學會用 FileWriter?之前的student資料都只存在 記憶體 (RAM),程式一關就消失,FileWriter 可以把文字資料寫進檔案 (例如...
昨天用 FileWriter 把學生資料寫進 students.txt。但是程式重新啟動後,如果不讀檔記憶體會是空的,所以要學這個。 FileReader+Bu...
為什麼要用 CSV?CSV (Comma-Separated Values):是以逗號分隔的文字檔格式好處:人類易讀Excel、Google Sheets 也能...
Why do we need 初始化呢呢呢之前我們start run 程式的時候,我們在沒有創txt檔或手動讀txt檔的時候背景是空的會error,而現在我們要...
今天要學 Generics(泛型)把 ArrayList 抽象成可重用容器,然後明天實作。 首先為什麼要用 Generics?Type safety:在編譯期就...
優化都發生在 StudentManager跟Main: Studnetmanager的優化: StudentManager 的改動:1.Lambda + Met...