import java.util.*;
class Student
{
    private String name;
    private int roll;
    private char grade;
    Student(String name,int roll,char grade)
    {
        this.name=name;
        this.roll=roll;
        this.grade=grade;
    }
    String getName()
    {
        return name;
    }
    int getRoll()
    {
        return roll;
    }
    char getGrade()
    {
        return grade;
    }
    void setGrade(char grade)
    {
        this.grade=grade;
    }
    public String toString()
    {
        return "Name: "+name+" Roll Number: "+roll+" Grade: "+grade;
    }
}
class StudentManager
{
    List<Student> list;
    StudentManager()
    {
        list=new ArrayList<>();
    }
    void addStudent(Student s)
    {
        list.add(s);
    }
    void removeStudent(int roll)
    {
        Iterator<Student> i=list.iterator();
        while(i.hasNext())
        {
            Student s=i.next();
            if(s.getRoll()==roll)
            {
                i.remove();
                System.out.println("Student removed");
                return;
            }
        }
        System.out.println("Student not found");
    }
    void displayStudent()
    {
        for(Student s:list)
        {
            System.out.println(s);
        }
    }
    void replaceGrade(int roll, char grade)
    {
        for(Student s:list)
        {
          if(s.getRoll()==roll)
          {
            s.setGrade(grade);
            System.out.println("Grade added successfully");
          }
        }
    }
    public static void main(String args[])
    {
        StudentManager sm=new StudentManager();
        Scanner sc=new Scanner(System.in);
        while(true)
        {
            System.out.println("1. Add");
            System.out.println("2. Remove");
            System.out.println("3. Display");
            System.out.println("4. Replace");
            System.out.println("5. Exit");
            int ch=sc.nextInt();
            switch(ch)
            {
                case 1:
                    System.out.println("Name: ");
                    String n=sc.next();
                    System.out.println("Roll: ");
                    int r=sc.nextInt();
                    System.out.println("Grade: ");
                    char g=sc.next().charAt(0);
                    sm.addStudent(new Student(n,r,g));
                    break;
                case 2:
                    System.out.println("Roll: ");
                    int r1=sc.nextInt();
                    sm.removeStudent(r1);
                    break;
                case 3:
                    sm.displayStudent();
                    break;
                case 4:
                    System.out.println("Roll Number: ");
                    int r2=sc.nextInt();
                    System.out.println("Grade: ");
                    char g2=sc.next().charAt(0);
                    sm.replaceGrade(r2,g2);
                    break;
                  case 5:
                    System.out.println("Exit");
                    sc.close();
            }
        }
    }
}
 
by