Inheritance

ABSTRACT CLASS

Sample Input and output 1:
Enter your choice
1.Exhibition
2.StageEvent
1
Enter the details in CSV format
Book expo,Special sale,Academics,Martin,100,1000
Exhibition Details
Event Name:Book expo
Detail:Special sale
Type:Academics
Organiser Name:Martin
Total Cost:100000.0

Sample Input and Output 2:
 
Enter your choice
1.Exhibition
2.StageEvent
2
Enter the details in CSV format
JJ magic show,Comedy magic,Entertainment,Steffania,5,1000
Stage Event Details
Event Name:JJ magic show
Detail:Comedy magic
Type:Entertainment
Organiser Name:Steffania
Total Cost:5000.0
 
 
Sample Input and Output 3:
 
Enter your choice
1.Exhibition
2.StageEvent
3
Invalid choice

CODE:

public abstract class Event {

    String name,detail,type,organiser;
    
    Event(String name, String detail, String type, String organiser){
    this.name=name;
    this.detail=detail;
    this.type=type;
    this.organiser=organiser;
    }
    
    
    
    public String getName() {
return name;
}



public String getDetail() {
return detail;
}


public String getType() {
return type;
}


public String getOrganiser() {
return organiser;
}

abstract Double calculateAmount();
    

}

public class Exhibition extends Event {
 
    Integer noOfStalls;
    double  rentPerStall;
    double amount;
    
    public Exhibition(String name, String detail, String type, String organiser, Integer noOfStalls,Double rentPerStall) {
    super( name, detail, type, organiser);
    this.noOfStalls=noOfStalls;
    this.rentPerStall=rentPerStall;
    }

    Double calculateAmount() {

        amount=noOfStalls*rentPerStall;
        return amount;
    }
     
}


public class StageEvent extends Event{
Integer noOfShows;
double costPerShow;
double product;
    
public StageEvent(String name, String detail, String type, String organiser, Integer noOfShows,Double costPerShow) {
super(name, detail, type, organiser);
this.noOfShows=noOfShows;
this.costPerShow=costPerShow;
}

//Fill your code here


    Double calculateAmount() {

        product=noOfShows*costPerShow;

        return product;

    }  
}

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("Enter your choice\n1.Exhibition\n2.StageEvent");
String eventType=sc.nextLine();
Event event=null; //reference that of Event...object (Exhibition) defined later
if(Integer.parseInt(eventType.trim())==1){
System.out.println("Enter the details in CSV format");
String input=sc.nextLine();
String[] inputs=input.split(",");
event=new Exhibition(inputs[0].trim(), inputs[1].trim(), inputs[2].trim(), inputs[3].trim(), Integer.parseInt(inputs[4].trim()), Double.parseDouble(inputs[5].trim()));
            System.out.println("Exhibition Details");
            System.out.println("Event Name:"+event.getName());
        System.out.println("Detail:"+event.getDetail());
    System.out.println("Type:"+event.getType());
    System.out.println("Organiser Name:"+event.getOrganiser());
    System.out.println("Total Cost:"+String.format("%.1f", event.calculateAmount()));
}
else if(Integer.parseInt(eventType.trim())==2){
System.out.println("Enter the details in CSV format");
String input=sc.nextLine();
String[] inputs=input.split(",");
event=new StageEvent(inputs[0].trim(), inputs[1].trim(), inputs[2].trim(), inputs[3].trim(), Integer.parseInt(inputs[4].trim()), Double.parseDouble(inputs[5].trim()));
            System.out.println("Stage Event Details");
            System.out.println("Event Name:"+event.name);
            System.out.println("Detail:"+event.detail);
    System.out.println("Type:"+event.type);
    System.out.println("Organiser Name:"+event.organiser);
    System.out.println("Total Cost:"+String.format("%.1f", event.calculateAmount()));
}
else{
System.out.println("Invalid choice");
}
}
}

Comments