Student Grade Manager
A beginner‑friendly Java application built with Maven that demonstrates the fundamentals of arrays, file handling, and console input/output.
This project is designed as a learning exercise for new Java developers to practice core concepts while building a simple but useful tool.
Features
- Store student names and grades in arrays
- Display all students and their grades
- Calculate the average grade
- Save grades to a text file (
grades.txt) - Load grades back from the file
- Simple menu‑driven console interface
Learning Objectives
- Practice working with arrays to manage collections of data
- Understand file I/O using Java’s
FileWriter,BufferedReader, andScanner - Gain experience with console input/output for user interaction
- Explore Maven project structure and dependency management
- Optionally extend with JUnit testing and JSON persistence
Tech Stack
- Java (Core)
- Maven (build and dependency management)
- JUnit (testing, optional)
- Jackson (JSON persistence, optional)
Installation & Usage
- Clone the repository:
git clone https://github.com/your-username/student-grade-manager.git cd student-grade-manager
Build the project with Maven:
mvn clean install
Run the application:
mvn exec:java -Dexec.mainClass="com.example.grades.StudentGradeApp"
Example Console Flow
- Add Student
- Display Students
- Average Grade
- Save
- Load
- Exit
Add Student → enter name and grade Display Students → shows all stored data Average Grade → calculates and prints the average Save → writes data to grades.txt Load → reads data back into arrays
Future Improvements -Add sorting (alphabetical or by grade) -Switch from arrays to ArrayList for dynamic storage -Save/load in JSON format using Jackson -Add unit tests with JUnit -Build a GUI version with JavaFX or Swing
Contributing -Pull requests are welcome! For major changes, please open an issue first to discuss what you’d like to change.