Skip to main content

ISC 2025 Specimen Paper: Library Inheritance Program

A library issues books on rental basis at a 2% charge on the cost price of the book per day. As per the rules of the library, a book can be retained for 7 days without any fine. If the book is returned after 7 days, a fine will also be charged for the excess days as per the chart given below:

Number of excess daysFine per day (Rs.)
1 to 52.00
6 to 103.00
Above 105.00

A super class Library has been defined. Define a subclass Compute to calculate the fine and the total amount. The details of the members of both the classes are given below:

Class name: Library
Data members/instance variables:
name: to store the name of the book
author: to store the author of the book
p: to store the price of the book (in decimals)
Methods/Member functions:
Library(…): parameterized constructor to assign values to the data members
void show(): displays the book details

Class name: Compute
Data members/instance variables:
d: number of days taken in returning the book
f: to store the fine (in decimals)
Methods/Member functions:
Compute(…): parameterized constructor to assign values to the data members of both the classes
void fine(): calculates the fine for the excess days as given in the table above
void show(): displays the book details along with the number of days, fine and the total amount to be paid. Total amount is (2% of price of book * total no. of days) + fine

Assume that the super class Library has been defined. Using the concept of inheritance, specify the class Compute giving the details of the constructor, void fine() and void show() functions.

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


public class Library
{
public String name,author;
double p;
Library(String name,String author,double p)
{
this.name=name;
this.author=author;
this.p=p;
}
void show()
{
System.out.println("Book name:"+name);
System.out.println("Author name:"+author);
System.out.println("Price:"+p);
}
}
public class Compute
{
public int d;
public double f;
Compute(String name,String author,double p,int d,double f)
{
super(name,author,p);
this.d=d;
this.f=f;
}
void fine()
{
if(d>0 && d<=5)
f=2*d;
else if(d>5 && d<=10)
f=3*d;
else
f=10*d;
}
void show()
{
System.out.println("Number of days:"+d);
System.out.println("Fine amount:"+f);
double total=(2.0/100*p*d)+f;
System.out.println("Total amount:"+total);
}
}




Popular posts from this blog

Panagram ISC 2025 Specimen Practical Paper

import java.util.*; class panagram //ISC 2025 Practical Question {     //str for storing the sentence     String str;     panagram()     {         str="";     }     void accept()     {         Scanner sc=new Scanner(System.in);         System.out.println("Enter a sentence:");         str=sc.nextLine();     }     void panagramcheck()     {         int letters[]=new int[26];          StringTokenizer st=new StringTokenizer(str);         while(st.hasMoreTokens())         {             String w = st.nextToken().toUpperCase();             for(int i=65;i<=90;i++)             {                 for(int j=...

Program in Java: ISC Program CellPhone Keystrokes

import java.util.Scanner; public class Keypad {     public static void main(String args[])     {         //Array to hold keystrokes for each letter         int keys[] = new int[26];         //intialise         keys['A'-'A']=1; //A         keys['B'-'A']=2; //B         keys['C'-'A']=3; //C         keys['D'-'A']=1; //D         keys['E'-'A']=2; //E         keys['F'-'A']=3; //F         keys['G'-'A']=1; //G         keys['H'-'A']=2; //H         keys['I'-'A']=3; //I         keys['J'-'A']=1; //J         keys['K'-'A']=2; //K         keys['L'-'A']=3; //L         keys['M'-'A']=1; //M         keys['N'-'A']=2; //N       ...

ISC Program: Predict day of the week from date

Algorithm : 1)Take the last two digits of the year. 2)Divide by 4, discarding any fraction. 3)Add the day of the month. 4)Add the month's key value: JFM AMJ JAS OND 144 025 036 146 5)Subtract 1 for January or February of a leap year. 6)For a Gregorian date, add 0 for 1900's, 6 for 2000's, 4 for 1700's, 2 for 1800's; for other years, add or subtract multiples of 400. 7)For a Julian date, add 1 for 1700's, and 1 for every additional century you go back. 8)Add the last two digits of the year. 9)Divide by 7 and take the remainder. Example : Let's take a date: 26/03/2027 Last two digit of the year = 27 Divide by 4 discard fraction = 27/4 = 6.75 = 6 Add day = 6 + 26 = 32 Month key = 4 + 32 = 36 Add year code = 36 + 6 = 42 Now add two digits of the first year = 42 + 27 = 69 Now get the remainder after dividing by 7 = 69%7=6 So 1 is Sunday so 6 is Friday So 27/03/2027 Program : import java.util.Scanner; public class daydate {     public static void main(String[] arg...