0% found this document useful (0 votes)
22 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
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 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
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