iT邦幫忙

鐵人檔案

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

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

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

鐵人鍊成 | 共 30 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21: SQLite

啥是這個這個SQLite?是a type of database,不像其他database,SQLite is just a single file在我的電腦那...

2025-10-05 ‧ 由 hermesw714eb 分享
DAY 22

Day 22:看到.db檔的內容跟學 SQL CRUD 操作順便把 add / delete / update 改寫成 SQL

昨天設定完資料庫之後我發現我沒有辦法看到.db檔的內容因此今天第一件事是搞清楚what happened; 首先關於為什麼在我的finder裡看得到檔案卻,打開...

2025-10-06 ‧ 由 hermesw714eb 分享
DAY 23

Day 23:補完CRUD的UD,加上SQL 查詢與排序

昨天缺少的UD: SQL 查詢與排序(ResultSet、ORDER BY)目的:讓搜尋、列表與排序由SQL來處理一、為什麼要讓 SQL 處理查詢與排序在前幾天...

2025-10-07 ‧ 由 hermesw714eb 分享
DAY 24

day 24 : 更改studentmanager 跟main 連動 database,加了解Serialization

所有大更動:main 也是差不多就不多放。 序列化簡單來說就是把「暫時存在記憶體的物件」變成可保存的資料實際的過程會是:在 Java 裡,序列化是指把物件的狀態...

2025-10-08 ‧ 由 hermesw714eb 分享
DAY 25

day 25:加入 SQL 統計功能 COUNT, AVG

使用 COUNT() 與 AVG() 在資料庫層直接計算統計值 一、為什麼要在 SQL 層做統計? 在之前,所有統計(例如平均年齡)都是在 Java 端 用 f...

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

Day 26: a glimpse of JUnit

一、JUnit 是啥鬼 JUnit 是一個 Java 專用的自動化測試框架。根據chatgpt簡單來說,它是讓我用程式測我的程式的一個東西,就像我平常自己手動打...

2025-10-10 ‧ 由 hermesw714eb 分享
DAY 27

Day 27: JUnit 安裝,更改成:database 知識補足

本來要直接JUnit在這次的project上面,但經過一番與AI的折騰短時間內應該無法處理好,因此今天回頭去補足database的一些知識; 今天來了解什麼是...

2025-10-11 ‧ 由 hermesw714eb 分享
DAY 28

Day28: SQL schema強化

今天要學習UNIQUE、CHECK、INDEX的語法跟使用情境 1.UNIQUE(name):避免重複學生(同名視為同一人)語法: CREATE TABLE S...

2025-10-12 ‧ 由 hermesw714eb 分享
DAY 30

Day 30: push 到github 跟一些心得

這是最終project的結構: 這是push到gitgub的過程跟reuslt: 心得:屬實是個為特別的體驗,一開始選這個主題是想說剛好學java,一個月過去了...

2025-10-14 ‧ 由 hermesw714eb 分享