首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 學生成績管理系統:控制台版完整實現教程

     編輯:Java 綜合教學

Java 學生成績管理系統:控制台版完整實現教程

本文介紹一個基於 Java 控制台的學生成績管理系統,實現了學生信息的錄入、顯示、修改、刪除、查詢及文件持久化存儲等核心功能。系統採用面向對象設計,包含菜單交互、數據驗證、異常處理等實用技術點,適合 Java 初學者練習鞏固基礎語法與 IO 操作。

系統功能架構

  • 菜單系統:提供 1-5 號功能選項與 0 退出,輸入驗證確保只接受 0-5。
  • 信息錄入:支持學號、姓名、班級、語數英三科成績輸入,學號唯一性校驗,數據同步寫入文件 E://student.txt。
  • 信息顯示:從內存數組或文件讀取並格式化輸出所有學生記錄。
  • 修改/刪除:按學號定位學生,支持字段級修改或整條記錄刪除,並同步更新文件。
  • 查詢統計:按學號、姓名或班級查詢,並可統計各科最高分、最低分、平均分。

核心代碼結構

class Student {
    private static Student[] s = new Student[100]; // 靜態數組存儲學生對象
    private int n = 0; // 當前學生數
    private String name, classAge;
    private int num, chinese, math, english;

    // 主菜單
    public void menu() throws IOException { ... }

    // 錄入邏輯(含學號去重、文件追加寫入)
    public void add() throws IOException { ... }

    // 顯示所有學生
    public void show() throws IOException { ... }

    // 修改指定學生信息
    public void modif() throws IOException { ... }

    // 刪除學生(數組移位+文件重寫)
    public void delete() throws IOException { ... }

    // 多條件查詢與統計
    public void look() throws IOException { ... }

    // 判斷是否有數據,引導首次錄入
    public void judge() throws IOException { ... }
}

關鍵技術點解析

  1. 靜態數組作為容器:Student[] s 存儲對象引用,n 記錄有效長度,簡化了集合框架的使用,適合教學演示。
  2. 文件持久化:使用 FileWriter 追加模式寫入,FileReader 讀取,實現數據跨程序運行保存。
  3. 異常向上拋出:所有 IO 方法聲明 throws IOException,由主程序或 JVM 統一處理,代碼結構清晰。
  4. 輸入驗證循環:菜單選項、Y/N 確認、學號重複均採用 while 循環強制合法輸入,增強健壯性。

運行效果截圖

主菜單界面

錄入學生信息

顯示學生列表

查詢統計結果修改刪除演示

總結與擴展建議

該系統雖功能完整,但使用固定長度數組、線性查找、文件全量重寫等方式,在數據量大時性能有限。進階方向可引入 ArrayList 動態擴容、Map 索引加速查詢、JDBC 連接數據庫、Swing/JavaFX 圖形界面等,逐步演進為企業級應用雛形。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved