OOPs

32. Write a Java program to create a class called Student with private instance variables student_id, student_name, and grades. Provide public getter and setter methods to access and modify the student_id and student_name variables. However, provide a method called addGrade() that allows adding a grade to the grades variable while performing additional validation.

            import java.util.ArrayList;
            import java.util.List;
            
            class Student {
                private int student_id;
                private String student_name;
                private List grades;
            
                public Student(int id, String name) {
                    student_id = id;
                    student_name = name;
                    grades = new ArrayList<>();
                }
            
                public int getStudentId() {
                    return student_id;
                }
            
                public void setStudentId(int student_id) {
                    this.student_id = student_id;
                }
            
                public String getStudentName() {
                    return student_name;
                }
            
                public void setStudentName(String student_name) {
                    this.student_name = student_name;
                }
            
                public void addGrade(double grade) {
                    if (grade >= 0.0 && grade <= 100.0) {
                        grades.add(grade);
                        System.out.println("Grade added: " + grade);
                    } else {
                        System.out.println("Invalid grade. Please enter a grade between 0 and 100.");
                    }
                }
                public List getGrades(){
                return grades;	
                }
            }
            class Main{
                public static void main(String[] args) {
                        Student student = new Student(1, "Alice");
            
                    System.out.println("Student ID: " + student.getStudentId());
                        System.out.println("Student Name: " + student.getStudentName());
                        System.out.println("Grades: " + student.getGrades());
            
                        student.addGrade(85.5);
                        student.addGrade(92.0);
                        student.addGrade(-10.0); 
                        student.addGrade(101.0); 
                        student.addGrade(78.0);
            
                        System.out.println("\nUpdated Student Details:");
                        System.out.println("Student ID: " + student.getStudentId());
                        System.out.println("Student Name: " + student.getStudentName());
                        System.out.println("Grades: " + student.getGrades());
                }
            }
        

OUTPUT

            Student ID: 1
            Student Name: Alice
            Grades: []
            Grade added: 85.5
            Grade added: 92.0
            Invalid grade. Please enter a grade between 0 and 100.
            Invalid grade. Please enter a grade between 0 and 100.
            Grade added: 78.0
            
            Updated Student Details:
            Student ID: 1
            Student Name: Alice
            Grades: [85.5, 92.0, 78.0]