Monday, 10 February 2025

Define class Student with attributes rollno, name. Inherit Student class in class marks, with attributes marks of java, marks of practical. Define method set marks () in class marks. Use parameterized constructor for initialization.


// Base class Student

class Student {

    int rollno;

    String name;


    // Parameterized constructor

    Student(int r, String n) {

        rollno = r;

        name = n;

    }


    // Method to display student details

    void displayStudent() {

        System.out.println("Roll No: " + rollno);

        System.out.println("Name: " + name);

    }

}


// Derived class Marks (inherits from Student)

class Marks extends Student {

    int javaMarks;

    int practicalMarks;


    // Parameterized constructor 

    Marks(int r, String n, int jMarks, int pMarks) {

        // Directly initializing parent class attributes

        rollno = r;

        name = n;

        javaMarks = jMarks;

        practicalMarks = pMarks;

    }


    // Method to set marks

    void setMarks(int jMarks, int pMarks) {

        javaMarks = jMarks;

        practicalMarks = pMarks;

    }


    // Method to display marks

    void displayMarks() {

        System.out.println("Java Marks: " + javaMarks);

        System.out.println("Practical Marks: " + practicalMarks);

    }

}


public class StudentDemo {

    public static void main(String[] args) {

        // Creating an object of Marks class

        Marks student1 = new Marks(101, "Aryan", 85, 90);


        // Displaying student details and marks

        student1.displayStudent();

        student1.displayMarks();


           student1.setMarks(88, 95);

        System.out.println("\nUpdated Marks:");

        student1.displayMarks();

    }

}


Another way 

import java.util.Scanner;


// Base class Student

class Student {

    int rollno;

    String name;


    // Parameterized constructor

    Student(int r, String n) {

        rollno = r;

        name = n;

    }


    // Method to display student details

    void displayStudent() {

        System.out.println("Roll No: " + rollno);

        System.out.println("Name: " + name);

    }

}


// Derived class Marks (inherits from Student)

class Marks extends Student {

    int javaMarks;

    int practicalMarks;


    // Parameterized constructor 

    Marks(int r, String n, int jMarks, int pMarks) {

        // Directly initializing parent class attributes

        rollno = r;

        name = n;

        javaMarks = jMarks;

        practicalMarks = pMarks;

    }


    // Method to set marks

    void setMarks(int jMarks, int pMarks) {

        javaMarks = jMarks;

        practicalMarks = pMarks;

    }


    // Method to display marks

    void displayMarks() {

        System.out.println("Java Marks: " + javaMarks);

        System.out.println("Practical Marks: " + practicalMarks);

    }

}


// Main class

public class StudentDemo {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);


        // Taking user input

        System.out.print("Enter Roll No: ");

        int rollno = sc.nextInt();

        sc.nextLine(); // Consume newline character

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

        String name = sc.nextLine();

        System.out.print("Enter Java Marks: ");

        int javaMarks = sc.nextInt();

        System.out.print("Enter Practical Marks: ");

        int practicalMarks = sc.nextInt();


        // Creating an object of Marks class with user input

        Marks student1 = new Marks(rollno, name, javaMarks, practicalMarks);


        // Displaying student details and marks

        System.out.println("\nStudent Details:");

        student1.displayStudent();

        student1.displayMarks();

      

        System.out.print("\nEnter updated Java Marks: ");

        javaMarks = sc.nextInt();

        System.out.print("Enter updated Practical Marks: ");

        practicalMarks = sc.nextInt();

        student1.setMarks(javaMarks, practicalMarks);


        System.out.println("\nUpdated Marks:");

        student1.displayMarks();


        sc.close(); 

    }

}