In this simple Student Management System, you will be learning a few core Java concepts and OOPS concepts.
Java Project Source Code - School Management System
This project just uses core java without any GUI. This is for those who just have started programming in java and want to learn a little more about object-oriented programming applications in core java.
Let's first create a Java project in Eclipse IDE and add the following Java classes to the project.
Student
Let's create a Student class with the following fields:
package com.java.sms;
/**
* This class is responsible for keeping the
* track of students fees, name ,grade & fees
* paid.
*
*/
public class Student {
private int id;
private String name;
private int grade;
private int feesPaid;
private int feesTotal;
/**
* To create a new student by initializing.
* Fees for every student is $30,000.
* Fees paid initially is 0.
* @param id id for the student: unique.
* @param name name of the student.
* @param grade grade of the student.
*/
public Student(int id, String name,int grade){
this.feesPaid=0;
this.feesTotal=30000;
this.id=id;
this.name=name;
this.grade=grade;
}
//Not going to alter student's name, student's id.
/**
* Used to update the student's grade.
* @param grade new grade of the student.
*/
public void setGrade(int grade){
this.grade=grade;
}
/**
* Keep adding the fees to feesPaid Field.
* Add the fees to the fees paid.
* The school is going receive the funds.
*
* @param fees the fees that the student pays.
*/
public void payFees(int fees){
feesPaid+=fees;
School.updateTotalMoneyEarned(feesPaid);
}
/**
*
* @return id of the student.
*/
public int getId() {
return id;
}
/**
*
* @return name of the student.
*/
public String getName() {
return name;
}
/**
*
* @return the grade of the student.
*/
public int getGrade() {
return grade;
}
/**
*
* @return fees paid by the student.
*/
public int getFeesPaid() {
return feesPaid;
}
/**
*
* @return the total fees of the student.
*/
public int getFeesTotal() {
return feesTotal;
}
/**
*
* @return the remaining fees.
*/
public int getRemainingFees(){
return feesTotal-feesPaid;
}
@Override
public String toString() {
return "Student's name :"+name+
" Total fees paid so far $"+ feesPaid;
}
}
This class is responsible for keeping the track of students' fees, name, grade & fees paid.
Teacher
Let's create a Teacher class with the following fields:
package com.java.sms;
/**
* This class is responsible for keeping the track
* of teacher's name, id, salary.
*/
public class Teacher {
private int id;
private String name;
private int salary;
private int salaryEarned;
/**
* Creates a new Teacher object.
* @param id id for the teacher.
* @param name name of the teacher.
* @param salary salary of the teacher.
*/
public Teacher(int id, String name, int salary){
this.id=id;
this.name=name;
this.salary=salary;
this.salaryEarned=0;
}
/**
*
* @return the id of the teacher.
*/
public int getId(){
return id;
}
/**
*
* @return name of the teacher.
*/
public String getName(){
return name;
}
/**
*
* @return the salary of the teacher.
*/
public int getSalary(){
return salary;
}
/**
* set the salary.
* @param salary
*/
public void setSalary(int salary){
this.salary=salary;
}
/**
* Adds to salaryEarned.
* Removes from the total money earned by the school.
* @param salary
*/
public void receiveSalary(int salary){
salaryEarned+=salary;
School.updateTotalMoneySpent(salary);
}
@Override
public String toString() {
return "Name of the Teacher: " + name
+" Total salary earned so far $"
+ salaryEarned;
}
}
This class is responsible for keeping the track of teacher's name, id, and salary.
School
Let's create a School class with the following fields:
package com.java.sms;
import java.util.List;
/**
* Many teachers, many students.
* Implements teachers and student
* using an ArrayList.
*/
public class School {
private List<Teacher> teachers;
private List<Student> students;
private static int totalMoneyEarned;
private static int totalMoneySpent;
/**
* new school object is created.
* @param teachers list of teachers in the school.
* @param students list of students int the school.
*/
public School(List<Teacher> teachers, List<Student> students) {
this.teachers = teachers;
this.students = students;
totalMoneyEarned=0;
totalMoneySpent=0;
}
/**
*
* @return the list of teachers int the school.
*/
public List<Teacher> getTeachers() {
return teachers;
}
/**
* Adds a teacher to the school.
* @param teacher the teacher to be added.
*/
public void addTeacher(Teacher teacher) {
teachers.add(teacher);
}
/**
*
* @return the list of students in the school.
*/
public List<Student> getStudents() {
return students;
}
/**
* Adds a student to the school
* @param student the student to be added.
*/
public void addStudent(Student student) {
students.add(student);
}
/**
*
* @return the total money earned by the school.
*/
public int getTotalMoneyEarned() {
return totalMoneyEarned;
}
/**
* Adds the total money earned by the school.
* @param MoneyEarned money that is supposed to be added.
*/
public static void updateTotalMoneyEarned(int MoneyEarned) {
totalMoneyEarned += MoneyEarned;
}
/**
*
* @return the total money spent by the school.
*/
public int getTotalMoneySpent() {
return totalMoneySpent;
}
/**
* update the money that is spent by the school which
* is the salary given by the school to its teachers.
* @param moneySpent the money spent by school.
*/
public static void updateTotalMoneySpent(int moneySpent) {
totalMoneyEarned-=moneySpent;
}
}
Main
Let's create a Main class to test our simple School Management System project:
package com.java.sms;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
Teacher teacher1 = new Teacher(1,"teacher1",500);
Teacher teacher2 = new Teacher(2,"teacher2",700);
Teacher teacher3 = new Teacher(3,"teacher3",600);
List<Teacher> teacherList = new ArrayList<>();
teacherList.add(teacher1);
teacherList.add(teacher2);
teacherList.add(teacher3);
Student student1 = new Student(1,"student1",4);
Student student2 = new Student(2,"student2",12);
Student student3 = new Student(3,"student3",5);
List<Student> studentList = new ArrayList<>();
studentList.add(student1);
studentList.add(student2);
studentList.add(student3);
School college1 = new School(teacherList,studentList);
Teacher teacher4 = new Teacher(6,"teacher4", 900);
college1.addTeacher(teacher4);
student1.payFees(5000);
student2.payFees(6000);
System.out.println("college1 has earned $"+ college1.getTotalMoneyEarned());
System.out.println("------Making SCHOOL PAY SALARY----");
teacher1.receiveSalary(teacher1.getSalary());
System.out.println("college1 has spent for salary to " + teacher1.getName()
+" and now has $" + college1.getTotalMoneyEarned());
teacher2.receiveSalary(teacher2.getSalary());
System.out.println("college1 has spent for salary to " + teacher2.getName()
+" and now has $" + college1.getTotalMoneyEarned());
System.out.println(student2);
teacher3.receiveSalary(teacher3.getSalary());
System.out.println(teacher3);
}
}
Output:
>college1 has earned $11000
------Making SCHOOL PAY SALARY----
college1 has spent for salary to teacher1 and now has $10500
college1 has spent for salary to teacher2 and now has $9800
Student's name :student2 Total fees paid so far $6000
Name of the Teacher: teacher3 Total salary earned so far $600
Related Java Source Code Examples:
Java Record Class Example
Java Text Blocks Example
Java Record Builder Pattern Example
Java Record Constructor Example
Java Record Constructor Validation Example
Java Record Serializable Example
Java Record Getter Example
Java Record Default Constructor
Java Records CRUD (Create, Read, Update, Delete) Example
Java Record Custom Methods
Java Record Custom toString
Java Record Custom equals and hashCode
Java Records with Spring Boot CRUD Example
Java Record Implement Interface Example
Java Switch Expressions Example
Java Pattern Matching for instanceof
Java Sealed Class Example
Java Sealed Class vs Final Class
Java Sealed Class Record Example
Java Sealed Class Generic Example
Java Sealed Class Enum Example
Java Sealed Class Switch Example
Java var Keyword Example
Java CompactNumberFormat Class Example
Java Vector API Example
Pattern Matching for Switch Example
Collectors.teeing() in Stream API Example
Java FileSystems.newFileSystem() Method Example
Java Files.readString() and Files.writeString() Example
Java String isBlank Example
Java String strip Example
Java String repeat Example
Java String lines Example
Java String stripIndent Example
Java Binary Search (Recursive and Iterative) Program
Java Happy Birthday Program
Java Program That Calculates the Age of a Person
Java Logical And Or Xor Examples
Java Format Date and Time Examples
Java Convert String to Date and Time
Java Convert Roman to Integer Number
Java Convert Octal to HexaDecimal
Java Convert Octal to Decimal
Java Convert Integer Number to Roman Number
Java Convert Hexadecimal to Binary
Java Convert Decimal to Octal
Java Convert Decimal to Binary
Java Convert Binary to Decimal
Java Convert Binary to an Octal
Java Convert Binary to a Hexadecimal
Java Convert a Unix Timestamp to Date Time
Java Check If Two Integer Arrays are Equals
Java program that removes all white spaces from the given string
Java 8 program that counts the number of vowels and consonants in a given string
Java 8 program that reverses words of a given string
Java Program to Count Number of Digits in an Integer
Java Program Fibonacci Series Using Recursion
Java Program to Find Factorial of a Number
Java program to calculate the area of Triangle
Java Program to Calculate Area of Square
Java Program to Calculate Area of Rectangle
Java Program to find the Smallest of three numbers using Ternary Operator
Java Program to Find Largest of Three Numbers
Java Program to Find GCD of Two Numbers
Java Program to Check Armstrong Number
Java Program to Generate Random Number
Java Program to Check if Number is Positive or Negative
Java program to check prime number
Java Program to Calculate Simple Interest
Java Program to Swap Two Numbers Without using a Temporary Variable
Java Program to Swap Two Numbers
Java Program to Find ASCII Value of a Character
Java Program to Check Whether an Alphabet is Vowel or Consonant
Java Program to Check Leap Year
Java Program to Check Even or Odd Number
Java Program to Add Two Numbers
Java Program to Swap Two Strings Without Using Third Variable
Java Program to Swap Two Strings with Third Variable
How to Get All Digits from String in Java
Find Duplicate Number in Array in Java
How to Get Current Working Directory in Java?
Check Palindrome String in Java
Java Program to Create Pyramid Of Numbers
Create a String object in Java Example
Java String valueOf() Method Example
Java String.trim() Method Example
Java String.toUpperCase() Method Example
Java String toLowerCase() Method Example
Java String toCharArray() Method Example
Java String substring() Method Example
Java String.startsWith() Method Example
Java String split() Method Example
Java String.replaceFirst() Method Example
Java String.replaceAll() Method Example
Java String replace() Method Example
Java String regionMatches() Method Example
Java String length() Method Example
Java String lastIndexOf() Method Example
Java String intern() Method Example
Java String indexOf() Method Example
Java String getChars() Method Example
Java String getBytes() Method Example
Java String equals() and equalsIgnoreCase() Example
Java String.endsWith() Method Example
Java String.contentEquals() Method Example
Java String.contains() Method Example
Java String concat() Method Example
What's the Simplest Way to Print a Java Array?
Merge two String Arrays Example
Checks If a String is Not Empty and Not Null in Java
Reverse a String in Java Using StringBuilder
Capitalize the First Letter of a String in Java Example
Java String codePointAt() Method Example
Java String Compare Using equals() Method
Sort String in Descending Order in Java
Sort String in Ascending Order in Java
How to Get All Digits from String in Java
Java String getDigits() Utility Method
Java String isAlphanumeric() Utility Method
Java String isAlpha() Utility Method
Java String countMatches() Utility Method
Java String mergeStringArrays(String array1[], String array2[]) Utility Method Example
Java String quote( String str) Utility Method
Java arrayToMap(String[][] array) Utility Method
Java String fromBufferedReader() Utility Method - Converts a BufferedReader into a String
Java String isNumericSpace() Utility Method
Java String isNumeric() Utility Method
Java String isAlphanumericSpace() Utility Method
Java String isAlphaSpace(() Utility Method
Java trimArrayElements() Utility Method
Java trimArrayElements() Utility Method
Java String containsWhitespace() Utility Method
Java String isBlank() Utility Method
Java String isAnyEmpty() Utility Method
Java String isNotEmpty() Utility Method
Java String isEmpty() Utility Method
Java String Uppercase First Character Example
Java String uppercaseFirstChar() Utility Method
Java String trimTrailingCharacter() Utility Method
Java String trimLeadingCharacter() Utility Method
Java String trimTrailingWhitespace() Utility Method
Java String trimLeadingWhitespace() Utility Method
Java String trimAllWhitespace() Utility Method
Java String trimWhitespace() Utility Method
Java StringBuilder trimToSize() Method Example
Java StringBuilder substring() Method Example
Java StringBuilder setLength() Method Example
Java StringBuilder reverse() Method Example
Java StringBuilder lastIndexOf() Method Example
Java StringBuilder insert() Method Example
Java StringBuilder indexOf() Method Example
Java StringBuilder getChars() Method Example
Java StringBuilder ensureCapacity() Method Example
Java StringBuilder deleteCharAt() Method Example
Java StringBuilder delete() Method Example
Java StringBuilder codePointBefore() Method Example
Java StringBuilder codePointAt Method Example
Java StringBuilder capacity() Method Example
Java StringBuilder append() Method Example
Java Convert Integer to String Example
Java Convert Float to String Example
Java Convert Double to String Example
Java Convert Short to String Example
Java Convert Long to String Example
Java Convert Character to String Example
Java Convert Byte to String Example
Java Convert Boolean to String Example
Java Convert String To Short Example
Java Convert String To Long Example
Java Convert String To Integer Example
Java Convert String To Float Example
Java Convert String To Double Example
Java Convert String To Byte Example
Java Convert String To Boolean Example
Clear ArrayList in Java Example
Java ArrayList add(), get() and set() Method Example
Iterate over ArrayList Using forEach Java
Iterate over ArrayList using Iterator in Java
Java ArrayList indexOf() and lastIndexOf() Example
Search an Element in an ArrayList in Java
Java ArrayList removeAll() Method Example
Java ArrayList remove() Method Example
How to Iterate over ArrayList in Java
How to Remove Element from ArrayList in Java
How to Access Elements of ArrayList in Java
Create ArrayList from Another ArrayList in Java
How to Create an ArrayList and Add Elements to It
Java ArrayList subList() Example
Get Index of Elements in ArrayList Example
Java ArrayList removeIf() Example
Copying part of Array in Java Example
Sorting an Array using Arrays.sort() Method
Check Two Arrays are Deeply Equal
Java Arrays.copyOf() Example - Copying an Array
Java Arrays.binarySearch() Example - Searching an Array
Java Arrays.asList() Example - Convert Array to ArrayList
Sort String in Ascending Order in Java
Sort String in Descending Order in Java
Sort Integer in Ascending Order in Java Example
Sort Integer in Descending Order in Java Example
Sort User-Defined Objects in Ascending Order in Java
Sort User-Defined Objects in Descending Order in Java
Sort User-Defined Objects using Comparator Interface
Java LinkedList add(), addFirst(), addLast() and addAll() Example
Iterate LinkedList using forEach() Method Example
Iterate through a LinkedList using an Iterator in Java
Iterate or Loop Through Elements LinkedList in Java Example
Search Elements of LinkedList in Java with Example
Remove First and Last Elements of LinkedList in Java
Get Elements from LinkedList Java Example
Java LinkedList remove(), removeFirst(), removeLast(), removeIf() and clear() Example
Create HashSet in Java
Iterating over a HashSet using Iterator
Iterate over HashSet in Java
Remove Element from HashSet in Java
Create HashSet in Java
Iterating over a LinkedHashSet using forEach() Method Example
Iterate over LinkedHashSet using Iterator in Java Example
Iterate over LinkedHashSet in Java Example
Remove all Elements from LinkedHashSet in Java Example
Remove Element from LinkedHashSet Example
Check If an Element Exists in Java LinkedHashSet Example
Create LinkedHashSet in Java Example
Create TreeSet in Java Example
Iterating over a TreeSet using Java 8 forEach() Method
Iterate over a TreeSet using Iterator in Java Example
Iterate over TreeSet in Java Example
Remove All Elements from Java TreeSet Example
Remove First and Last Element from TreeSet in Java
Remove Element from TreeSet in Java Example
Check If an Element Exists in Java TreeSet Example
Java TreeSet add(), first() and last() Method Example
Java Convert ArrayList to Stack Example
Java Convert Array to Stack Example
Java Stack push() Method Example
Java Stack empty() Method Example
Java Stack peek() Method Example
Java Stack search() Method Example
Java Stack pop() Method Example
Java Deque and ArrayDeque Examples
Iterating over a Queue in Java Example
Java Queue isEmpty(), size(), element() and peek() Example
Java Queue Interface Example
Java Priority Queue of User Defined Objects Example
Java Create a Priority Queue with a Custom Comparator
Create a Priority Queue in Java Example
HashMap Stream and Filtering Example
Java HashMap Iteration over Values Example
Java HashMap Iteration over Keys
Java HashMap replace() Example
Java HashMap size Example
Iterate over a HashMap Java using Lambda
Iterate over a HashMap Java 8 forEach
Iterating over a HashMap using Iterator in Java
Iterate over HashMap in Java
How to Store Employee Objects in HashMap
Remove Entry from HashMap Java
Check If Value Exists in HashMap Java Example
Check If Key Exists in HashMap Java Example
Create a HashMap in Java Example
How to Delete Data from MySQL Table using Java
How to Insert Data in MySQL Table using Java
How to Create Database Table in Java
JDBC DriverManager Example
JDBC PreparedStatement Example
JDBC Statement Example
Java MySQL DataSource Example
Update Query in MySQL using Java PreparedStatement
Login Example with JSP + Servlet + JDBC + MySQL Database
JSP + JDBC + MySQL Example Tutorial
JSP Form Example with JDBC and MySQL Database
Java JDBC CRUD Example - SQL Insert, Select, Update, and Delete Examples
Java Swing JDBC MySQL Database Example
Java JDBC Connection to HSQLDB Database
JDBC Connection to H2 Database Example
JDBC Connection to PostgreSQL Example
JDBC Connection to Oracle Database Example
JDBC Transaction Management Example
JDBC Delete Query Example
JDBC Select Query Example
JDBC Update Query Example
JDBC Insert Multiple Rows Example
JDBC Create a Table Example
What are different types of JDBC Drivers
Advantages of Hibernate Framework over JDBC
Java PostgreSQL Example
Java H2 Insert Record Example
Java H2 Embedded Database Example
Java H2 Create Table Example
Java Simple Lambda Expression Example
Java Lambda Expressions Multiple Statements
Java Lambda Expressions forEach Example
Java Lambda Expression with Multiple Parameters Example
Java Lambda Expression Runnable Example
Java Lambda Expression Comparator Example
Refactoring Factory Design Pattern with Lambdas
Refactoring Chain of Responsibility Pattern with Lambdas
Refactoring Observer Design Pattern with Lambdas
Refactoring Strategy Design Pattern with Lambdas
Iterate HashMap with forEach() + Lambda Expression Example
Iterate HashSet with forEach() + Lambda Expression Example
Iterate ArrayList with forEach() + Lambda Expression Example
Java method reference to a constructor example
Java method reference to static method example
Java method reference to an instance method of an object example
Java method reference to an instance method of an arbitrary object of a particular type
Java 8 - Create Stream Object from Arrays Example
Java 8 Creating a Stream from an Array
Java 8 - Create Stream Object from Collection, List, Set
Java 8 Stream - Sort List of String objects in Descending Order Example
Java 8 Stream - Sort List of String objects in Ascending Order Example
How to convert a Java 8 Stream to an Array?
Java 8 Stream - allMatch(),anyMatch() and noneMatch() Example
Java 8 Stream - Sort List of Objects by Multiple Fields
Java 8 Stream - Sort List of Custom Objects in Ascending and Descending Order
Java 8 - Stream filter(), forEach(), collect() and Collectors.toList() Example
Java Stream filter null values example
Java Stream filter map by values example
Java Stream filter map by keys example
Java 8 Collectors.counting() Example
Java 8 Collectors.averagingDouble() Example
Java 8 Collectors.toSet() Example
Java 8 Collectors.toList() Example
Java 8 Collectors.joining() example
Java 8 Stream multiple filter operations
Java 8 Stream filter map by keys
Java 8 Stream filter map by values
Java 8 Stream collect to list example
Java 8 Stream Collectors.counting() exmaple
Java 8 Collectors.collectingAndThen() example
Java 8 Collectors.toList() Example
Java 8 Collectors.minBy() and Collectors.maxBy() example
Java Stream filter() Example
Java Stream map() Example
Java Stream flatMap() Example
Java Stream distinct() Example
Java Stream limit() Example
Java Stream peek() Example
Java Stream anyMatch() Example
Java Stream allMatch() Example
Java Stream noneMatch() Example
Java Stream collect() Example
Java Stream count() Example
Java Stream findAny() Example
Java Stream findFirst() Example
Java Stream forEach() Example
Java Stream min() Example
Java Stream max() Example
Java Stream reduce() Example
Java Stream toArray() Example
Java Function Functional Interface Example
Java Supplier Functional Interface Example
Java Consumer Example
Java BiConsumer Example
Java BiFunction Example
Java Predicate Example
Java 8 LongConsumer Example
Java 8 IntConsumer Example
Java 8 DoubleConsumer Example
Java StringJoiner Example
Create Optional Class Object in Java - empty(), of(), ofNullable() Methods
Optional get() Method - Get Value from Optional Object in Java
Optional isPresent() Method Example
Optional orElse() Method Example
Optional orElseGet() Method Example
Optional orElseThrow() Method Example
Optional filter() and map() Method Examples
Java 8 program that counts the number of vowels and consonants in a given string
Java 8 program that reverses words of a given string
Java 8 - Copy List into Another List Example
Check Whether the Given Year is Leap Year or Not in Java
Java 8 forEach() Array Example
Java 8 forEach() Map Example
Java 8 forEach() Set Example
Java 8 forEach() List Example
Getting current date and time with Clock
Convert LocalDate to Date in Java
Convert LocalDateTime into Date in Java
Connvert java.util.Date to java.time.LocalDateTime Example
Convert java.util.Date to java.time.LocalDate Example
Duration Between Two LocalDate in Java
Java Convert ZonedDateTime to String Example
Convert String to ZonedDateTime in Java
Compare ZonedDateTime Objects in Java
How to Get Hour, Minute, Second from ZonedDateTime in Java
Convert ZonedDateTime to LocalTime Example
Convert ZonedDateTime to LocalDateTime in Java
Java ZonedDateTime now() and of() Method Example
Convert LocalDateTime to LocalTime in Java
Convert LocalDateTime to LocalDate in Java
Compare LocalDateTime Objects in Java
Java LocalDateTime - Get Hour, Minute and Second
How to Get Day Month and Year from LocalDateTime in Java
Java LocalDateTime now() Method Example
How to Get Current Date Time in Java
Convert LocalDate to String in Java
Convert String to LocalDate in Java
Java LocalDate isLeapYear() Method Example
How to Get Number of Days from Month and Year using LocalDate in Java
Compare Java LocalDate Objects Example
How to Add Days Weeks Months and Years to LocalDate in Java
How to get Day Month and Year from LocalDate in Java
Java LocalDate now() Method Example - Get Current Date and Specific Date
Convert LocalTime to String in Java
Convert String to LocalTime in Java
Java LocalTime isBefore() and isAfter() Method Example
How to Compare Time in Java
Java 8 - LocalTime getHour(), getMinute(), getSecond() and getNano() Example
Java LocalTime now() Method Example - Get Current Time and Specific Time
Java 8 Get Local Date Time in All Available Time Zones
How to get year, month, day, hours, minutes, seconds and milliseconds of LocalDateTime in Java 8?
How to get year, month, day, hours, minutes, seconds and milliseconds of Date in Java?
Difference between Two Dates in Java
Create LocalDateTime from LocalDate and LocalTime in Java
Java
Java-Projects
Comments
Post a Comment