0% found this document useful (0 votes)
23 views

Android Program

The program allows a user to manage a list of students in Java by performing operations like addition, removal, replacement of students and displaying the list using an iterator interface. It implements a Student class and StudentManager class to manage the student list and required operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Android Program

The program allows a user to manage a list of students in Java by performing operations like addition, removal, replacement of students and displaying the list using an iterator interface. It implements a Student class and StudentManager class to manage the student list and required operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Implement a program to manage a list of students using the Iterator interface in Java.

The
program should allow the user to perform the following operations:

Add a student to the list.


Remove a student from the list.
Display all students in the list.
Replace the grade of any student
Each student should have attributes like name, roll number, and grade. Implement a Student
class to represent a student, and a StudentManager class to manage the list of students
using iterators.

public class Student {

private String name;

private int rollNumber;

private String grade;

public Student(String name, int rollNumber, String grade) {

this.name = name;

this.rollNumber = rollNumber;

this.grade = grade;

public String getName() {

return name;

public int getRollNumber() {

return rollNumber;

public String getGrade() {

return grade;

}
public void setGrade(String grade) {

this.grade = grade;

@Override

public String toString() {

return "Student{" +

"name='" + name + '\'' +

", rollNumber=" + rollNumber +

", grade='" + grade + '\'' +

'}';

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import java.util.Scanner;

public class StudentManager {

private List<Student> students;

public StudentManager() {

students = new ArrayList<>();

public void addStudent(Student student) {

students.add(student);

}
public void removeStudent(int rollNumber) {

Iterator<Student> iterator = students.iterator();

while (iterator.hasNext()) {

Student student = iterator.next();

if (student.getRollNumber() == rollNumber) {

iterator.remove();

System.out.println("Student with roll number " + rollNumber + " has been removed.");

return;

System.out.println("Student with roll number " + rollNumber + " not found.");

public void displayStudents() {

if (students.isEmpty()) {

System.out.println("No students in the list.");

} else {

for (Student student : students) {

System.out.println(student);

public void replaceGrade(int rollNumber, String newGrade) {

for (Student student : students) {

if (student.getRollNumber() == rollNumber) {

student.setGrade(newGrade);

System.out.println("Grade updated for student with roll number " + rollNumber + ".");

return;

}
System.out.println("Student with roll number " + rollNumber + " not found.");

public static void main(String[] args) {

StudentManager manager = new StudentManager();

Scanner scanner = new Scanner(System.in);

while (true) {

System.out.println("\nMenu:");

System.out.println("1. Add Student");

System.out.println("2. Remove Student");

System.out.println("3. Display All Students");

System.out.println("4. Replace Student Grade");

System.out.println("5. Exit");

System.out.print("Enter your choice: ");

int choice = scanner.nextInt();

scanner.nextLine(); // consume newline

switch (choice) {

case 1:

System.out.print("Enter student name: ");

String name = scanner.nextLine();

System.out.print("Enter roll number: ");

int rollNumber = scanner.nextInt();

scanner.nextLine(); // consume newline

System.out.print("Enter grade: ");

String grade = scanner.nextLine();

manager.addStudent(new Student(name, rollNumber, grade));

break;

case 2:
System.out.print("Enter roll number of student to remove: ");

int rollNumToRemove = scanner.nextInt();

manager.removeStudent(rollNumToRemove);

break;

case 3:

manager.displayStudents();

break;

case 4:

System.out.print("Enter roll number of student to update grade: ");

int rollNumToUpdate = scanner.nextInt();

scanner.nextLine(); // consume newline

System.out.print("Enter new grade: ");

String newGrade = scanner.nextLine();

manager.replaceGrade(rollNumToUpdate, newGrade);

break;

case 5:

System.out.println("Exiting program.");

scanner.close();

return;

default:

System.out.println("Invalid choice. Please try again.");

}
public class Employee {

private String name;

private int employeeID;

private double hourlyRate;

public Employee(String name, int employeeID, double hourlyRate) {

this.name = name;

this.employeeID = employeeID;

this.hourlyRate = hourlyRate;

public String getName() {

return name;

public int getEmployeeID() {

return employeeID;

public double getHourlyRate() {

return hourlyRate;

public void setHourlyRate(double hourlyRate) {

this.hourlyRate = hourlyRate;

public double calculateMonthlySalary() {


return 0;

@Override

public String toString() {

return "Employee{" +

"name='" + name + '\'' +

", employeeID=" + employeeID +

", hourlyRate=" + hourlyRate +

'}';

public class FullTimeEmployee extends Employee {

private double salary;

private String benefits;

public FullTimeEmployee(String name, int employeeID, double hourlyRate, double salary, String
benefits) {

super(name, employeeID, hourlyRate);

this.salary = salary;

this.benefits = benefits;

public double getSalary() {

return salary;

public void setSalary(double salary) {

this.salary = salary;

}
public String getBenefits() {

return benefits;

public void setBenefits(String benefits) {

this.benefits = benefits;

@Override

public double calculateMonthlySalary() {

return getSalary();

@Override

public String toString() {

return "FullTimeEmployee{" +

"name='" + getName() + '\'' +

", employeeID=" + getEmployeeID() +

", hourlyRate=" + getHourlyRate() +

", salary=" + salary +

", benefits='" + benefits + '\'' +

'}';

public class PartTimeEmployee extends Employee {

private int hoursWorked;

private double overtimeRate;


public PartTimeEmployee(String name, int employeeID, double hourlyRate, int hoursWorked,
double overtimeRate) {

super(name, employeeID, hourlyRate);

this.hoursWorked = hoursWorked;

this.overtimeRate = overtimeRate;

public int getHoursWorked() {

return hoursWorked;

public void setHoursWorked(int hoursWorked) {

this.hoursWorked = hoursWorked;

public double getOvertimeRate() {

return overtimeRate;

public void setOvertimeRate(double overtimeRate) {

this.overtimeRate = overtimeRate;

@Override

public double calculateMonthlySalary() {

int regularHours = Math.min(hoursWorked, 160); // Assuming 160 hours as a full month

int overtimeHours = Math.max(0, hoursWorked - 160);

return (regularHours * getHourlyRate()) + (overtimeHours * getOvertimeRate());

@Override
public String toString() {

return "PartTimeEmployee{" +

"name='" + getName() + '\'' +

", employeeID=" + getEmployeeID() +

", hourlyRate=" + getHourlyRate() +

", hoursWorked=" + hoursWorked +

", overtimeRate=" + overtimeRate +

'}';

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class EmployeeManager {

private List<Employee> employees;

public EmployeeManager() {

employees = new ArrayList<>();

public void addEmployee(Employee employee) {

employees.add(employee);

public void displayEmployees() {

if (employees.isEmpty()) {

System.out.println("No employees in the list.");

} else {

for (Employee employee : employees) {


System.out.println(employee);

public void calculateSalaries() {

if (employees.isEmpty()) {

System.out.println("No employees in the list.");

} else {

for (Employee employee : employees) {

System.out.println("Monthly salary of " + employee.getName() + ": " +


employee.calculateMonthlySalary());

public static void main(String[] args) {

EmployeeManager manager = new EmployeeManager();

Scanner scanner = new Scanner(System.in);

while (true) {

System.out.println("\nMenu:");

System.out.println("1. Add Full-Time Employee");

System.out.println("2. Add Part-Time Employee");

System.out.println("3. Display All Employees");

System.out.println("4. Calculate Salaries");

System.out.println("5. Exit");

System.out.print("Enter your choice: ");

int choice = scanner.nextInt();

scanner.nextLine(); // consume newline


switch (choice) {

case 1:

System.out.print("Enter full-time employee name: ");

String ftName = scanner.nextLine();

System.out.print("Enter employee ID: ");

int ftID = scanner.nextInt();

System.out.print("Enter hourly rate: ");

double ftHourlyRate = scanner.nextDouble();

System.out.print("Enter salary: ");

double ftSalary = scanner.nextDouble();

scanner.nextLine(); // consume newline

System.out.print("Enter benefits: ");

String benefits = scanner.nextLine();

manager.addEmployee(new FullTimeEmployee(ftName, ftID, ftHourlyRate, ftSalary,


benefits));

break;

case 2:

System.out.print("Enter part-time employee name: ");

String ptName = scanner.nextLine();

System.out.print("Enter employee ID: ");

int ptID = scanner.nextInt();

System.out.print("Enter hourly rate: ");

double ptHourlyRate = scanner.nextDouble();

System.out.print("Enter hours worked: ");

int hoursWorked = scanner.nextInt();

System.out.print("Enter overtime rate: ");

double overtimeRate = scanner.nextDouble();

manager.addEmployee(new PartTimeEmployee(ptName, ptID, ptHourlyRate,


hoursWorked, overtimeRate));

break;

case 3:
manager.displayEmployees();

break;

case 4:

manager.calculateSalaries();

break;

case 5:

System.out.println("Exiting program.");

scanner.close();

return;

default:

System.out.println("Invalid choice. Please try again.");

You might also like