Student Management System (Basic Version)
Objective:
To practice Java class & object concepts (attributes, methods, constructors) along with basic operations like input/output, arrays, and simple logic.
Requirements:
-
Create a class
Studentwith the following:-
Attributes:
-
studentId(int) -
name(String) -
age(int) -
grade(String)
-
-
Constructor to initialize these values.
-
Method
displayInfo()→ prints student details. -
Method
updateGrade(String newGrade)→ updates the grade.
-
-
Create a class
StudentManagementthat will:-
Store multiple students in an array or ArrayList.
-
Have methods:
-
addStudent(Student s)→ add new student. -
showAllStudents()→ display all student info. -
findStudentById(int id)→ search a student.
-
-
-
In the
mainmethod:-
Create at least 3 student objects.
-
Add them into the management system.
-
Display all students.
-
Update a student’s grade.
-
Search for a student by ID and display result.
-
Solutions
import java.util.ArrayList;
import java.util.Scanner;
// Class representing a Student
class Student {
int studentId;
String name;
int age;
String grade;
// Constructor
Student(int studentId, String name, int age, String grade) {
this.studentId = studentId;
this.name = name;
this.age = age;
this.grade = grade;
}
// Method to display student info
void displayInfo() {
System.out.println("ID: " + studentId + " | Name: " + name + " | Age: " + age + " | Grade: " + grade);
}
// Method to update grade
void updateGrade(String newGrade) {
this.grade = newGrade;
System.out.println(name + "'s grade updated to " + newGrade);
}
}
// Class for managing multiple students
class StudentManagement {
ArrayList<Student> students = new ArrayList<>();
// Add a new student
void addStudent(Student s) {
students.add(s);
System.out.println("Student Added: " + s.studentId + ", " + s.name);
}
// Show all students
void showAllStudents() {
System.out.println("\n--- Showing All Students ---");
for (Student s : students) {
s.displayInfo();
}
}
// Find student by ID
Student findStudentById(int id) {
for (Student s : students) {
if (s.studentId == id) {
return s;
}
}
return null; // Not found
}
}
// Main class
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StudentManagement sm = new StudentManagement();
// Adding some students
sm.addStudent(new Student(101, "Riya", 20, "A"));
sm.addStudent(new Student(102, "Arjun", 21, "B"));
sm.addStudent(new Student(103, "Sneha", 19, "C"));
// Show all students
sm.showAllStudents();
// Update a grade
Student student = sm.findStudentById(102);
if (student != null) {
student.updateGrade("A");
}
// Search for a student by ID
System.out.print("\nEnter Student ID to search: ");
int searchId = sc.nextInt();
Student found = sm.findStudentById(searchId);
if (found != null) {
System.out.println("Found Student:");
found.displayInfo();
} else {
System.out.println("Student with ID " + searchId + " not found!");
}
sc.close();
}
}
Output:
Student Added: 101, Riya
Student Added: 102, Arjun
Student Added: 103, Sneha
--- Showing All Students ---
ID: 101 | Name: Riya | Age: 20 | Grade: A
ID: 102 | Name: Arjun | Age: 21 | Grade: B
ID: 103 | Name: Sneha | Age: 19 | Grade: C
Arjun's grade updated to A
Enter Student ID to search: 102
Found Student:
ID: 102 | Name: Arjun | Age: 21 | Grade: A
import java.util.Scanner;
// Class representing a Student
class Student {
int studentId;
String name;
int age;
String grade;
// Constructor
Student(int studentId, String name, int age, String grade) {
this.studentId = studentId;
this.name = name;
this.age = age;
this.grade = grade;
}
// Method to display student info
void displayInfo() {
System.out.println("ID: " + studentId + " | Name: " + name + " | Age: " + age + " | Grade: " + grade);
}
// Method to update grade
void updateGrade(String newGrade) {
this.grade = newGrade;
System.out.println(name + "'s grade updated to " + newGrade);
}
}
// Class for managing multiple students using a fixed-size array
class StudentManagement {
Student[] students;
int count; // keeps track of current number of students
// Constructor with a maximum number of students
StudentManagement(int maxStudents) {
students = new Student[maxStudents];
count = 0;
}
// Add a new student
void addStudent(Student s) {
if (count < students.length) {
students[count] = s;
count++;
System.out.println("Student Added: " + s.studentId + ", " + s.name);
} else {
System.out.println("Cannot add more students. Array is full!");
}
}
// Show all students
void showAllStudents() {
System.out.println("\n--- Showing All Students ---");
for (int i = 0; i < count; i++) {
students[i].displayInfo();
}
}
// Find student by ID
Student findStudentById(int id) {
for (int i = 0; i < count; i++) {
if (students[i].studentId == id) {
return students[i];
}
}
return null; // Not found
}
}
// Main class
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StudentManagement sm = new StudentManagement(10); // max 10 students
// Adding some students
sm.addStudent(new Student(101, "Riya", 20, "A"));
sm.addStudent(new Student(102, "Arjun", 21, "B"));
sm.addStudent(new Student(103, "Sneha", 19, "C"));
// Show all students
sm.showAllStudents();
// Update a grade
Student student = sm.findStudentById(102);
if (student != null) {
student.updateGrade("A");
}
// Search for a student by ID
System.out.print("\nEnter Student ID to search: ");
int searchId = sc.nextInt();
Student found = sm.findStudentById(searchId);
if (found != null) {
System.out.println("Found Student:");
found.displayInfo();
} else {
System.out.println("Student with ID " + searchId + " not found!");
}
sc.close();
}
}
import java.util.Scanner;
public class Student {
// Attributes
int studentId;
String name;
int age;
String grade;
// Constructor
Student(int studentId, String name, int age, String grade) {
this.studentId = studentId;
this.name = name;
this.age = age;
this.grade = grade;
}
// Display student info
void displayInfo() {
System.out.println("ID: " + studentId + " | Name: " + name + " | Age: " + age + " | Grade: " + grade);
}
// Update grade
void updateGrade(String newGrade) {
this.grade = newGrade;
System.out.println(name + "'s grade updated to " + newGrade);
}
// --- Static array and management methods inside the same class ---
static Student[] students = new Student[10];
static int count = 0;
// Add a student
static void addStudent(Student s) {
if (count < students.length) {
students[count] = s;
count++;
System.out.println("Student Added: " + s.studentId + ", " + s.name);
} else {
System.out.println("Cannot add more students. Array is full!");
}
}
// Show all students
static void showAllStudents() {
System.out.println("\n--- Showing All Students ---");
for (int i = 0; i < count; i++) {
students[i].displayInfo();
}
}
// Find student by ID
static Student findStudentById(int id) {
for (int i = 0; i < count; i++) {
if (students[i].studentId == id) {
return students[i];
}
}
return null;
}
// Main method
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Adding students
addStudent(new Student(101, "Riya", 20, "A"));
addStudent(new Student(102, "Arjun", 21, "B"));
addStudent(new Student(103, "Sneha", 19, "C"));
// Show all students
showAllStudents();
// Update a grade
Student student = findStudentById(102);
if (student != null) {
student.updateGrade("A");
}
// Search for a student by ID
System.out.print("\nEnter Student ID to search: ");
int searchId = sc.nextInt();
Student found = findStudentById(searchId);
if (found != null) {
System.out.println("Found Student:");
found.displayInfo();
} else {
System.out.println("Student with ID " + searchId + " not found!");
}
sc.close();
}
}