Number Series Inheritance Java Program | ISC Computer Science 2018 Theory

A super class Number is defined to calculate the factorial of a number. Define a subclass Series to find the sum of the series S = 1! + 2! + 3! + 4! + … + n!

The details of the members of both the classes are given below:

Class name: Number
Data member/instance variable:
n: to store an integer number
Member functions/methods:
Number(int nn): parameterized constructor to initialize the data member n = nn
int factorial(int a): returns the factorial of a number (factorial of n = 1 × 2 × 3 × … × n)
void display(): displays the data members

Class name: Series
Data member/instance variable:
sum: to store the sum of the series
Member functions/methods:
Series(…): parameterized constructor to initialize the data members of both the classes
void calsum(): calculates the sum of the given series
void display(): displays the data members of both the classes

Assume that the super class Number has been defined. Using the concept of inheritance, specify the class Series giving the details of the constructor(…), void calsum() and void display().

The super class, main() function and algorithm need not be written.

import java.util.Scanner;
class Number{
    protected int n;
    public Number(int nn){
        n = nn;
    }
    public int factorial(int a){
        if(a == 0 || a == 1)
            return 1;
        return a * factorial(a - 1);
    }
    public void display(){
        System.out.println("N = " + n);
    }
}
class Series extends Number{
    int sum;
    public Series(int n){
        super(n);
        sum = 0;
    }
    public void calSum(){
        for(int i = 1; i <= n; i++)
            sum += factorial(i);
    }
    public void display(){
        super.display();
        System.out.println("Sum = " + sum);
    }
}
class MyInheritance{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        System.out.print("N = ");
        int n = Integer.parseInt(in.nextLine());
        Series obj = new Series(n);
        obj.calSum();
        obj.display();
    }
}

Leave a Reply

Your email address will not be published. Required fields are marked *