Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write classes as described in question 5,6,7 and 8 in the book (page 643, 644).

ID: 3667282 • Letter: W

Question

Write classes as described in question 5,6,7 and 8 in the book (page 643, 644). (In case you still don’t have access to the book, the scanned version of the questions are posted as well). After the classes stated in the problem above are written and if the following BuyTicket.java file is executed, you should get following output: public class BuyTicket{

public static void main(String[] args){

WalkupTicket wt1=new WalkupTicket(12);

System.out.println(wt1);

AdvanceTicket at1=new AdvanceTicket (13,12);

System.out.println(at1);

AdvanceTicket at2 = new AdvanceTicket(14,2);

System.out.println(at2);

StudentAdvanceTicket sat1= new StudentAdvanceTicket(15,20);

System.out.println(sat1);

StudentAdvanceTicket sat2= new StudentAdvanceTicket(16,4);

System.out.println(sat2); } }

Output: Number: 12, Price: 50.0

Number: 13, Price: 30.0

Number: 14, Price: 40.0

Number: 15, Price: 15.0 (ID required)

Number: 16, Price: 20.0 (ID required)

Explanation / Answer

//Ticket.java
//Create an Ticket class that has number and price as variables
import java.util.Scanner;
public abstract class Ticket
{
   private int number;
   private double price;
   private Scanner scanner=new Scanner(System.in);
  
  
   //constructor that sets the number and price to 50
   public Ticket(int number)
   {
       this.number=number;
       price=50;
   }
  
   //Constructor to set the number and price
   public Ticket(int number, double price)
   {
       setNumber(number);
       setPrice(price);
   }
  
   public void setNumber(int number)
   {
       this.number=number;
   }
  
   public void readNumber()
   {
       System.out.println("Enter number ");
       number=Integer.parseInt(scanner.nextLine());
   }
  
   public void setPrice(double price)
   {
       this.price=price;
   }
  
   public void readtPrice()
   {
       System.out.println("Enter price ");
       price=Integer.parseInt(scanner.nextLine());
   }
  
   public int getNumber()
   {
       return number;
   }
  
   public double getPrice()
   {
       return price;
   }
  
   //Returns the string description of the Ticket class object
   @Override
   public String toString()
   {      
       return "Number : "+number+", Price :"+price;  
   }  
}

----------------------------------------------------------------------------------------------------

//AdvanceTicket.java
//The class AdvanceTicket that extends the abstract class Ticket
public class AdvanceTicket extends Ticket
{
   private int days;
  
   //Constructor that takes number and days as input arguments
   public AdvanceTicket(int number, int days)
   {
       super(number);
       this.days=days;
      
      
       //set price if days <10
       if(days<10)
           setPrice(40);
       //set price if days >=10
       else if(days>=10)
           setPrice(30);      
   }  
}

----------------------------------------------------------------------------------------------------

//WalkupTicket.java
//The class AdvanceTicket that extends the abstract class Ticket
public class WalkupTicket extends Ticket
{

   //Constructor to set number
   public WalkupTicket(int number)
   {
       //set number and price =50
       super(number, 50);      
   }  
   //Constructor to set number and price
   public WalkupTicket(int number, double price)
   {
       super(number, price);      
   }
  
  
  
}

----------------------------------------------------------------------------------------------------


//StudentAdvanceTicket.java
public class StudentAdvanceTicket extends Ticket
{
   private int days;

   public StudentAdvanceTicket(int number,int days)
   {      
       super(number);
       this.days=days;
      
      
       //set price of days<10
       if(days<10)
           setPrice(20);
       //set price of days>=10
       else if(days>=10)
           setPrice(15);
   }
  
   //Returns the string description of the Ticket class object
   @Override
   public String toString()
   {      
       return super.toString()+" (ID required)";
   }
  
}

-----------------------------------------------------------------------------------------------------------------------------


//Tester program for class objects of WalkupTicket,AdvanceTicket
//and StudentAdvanceTicket and print the string object description of classes.
//BuyTicket.java
public class BuyTicket
{
   public static void main(String[] args)
   {
       //Create an instance of number
       WalkupTicket wt1=new WalkupTicket(12);
       System.out.println(wt1);
              
       //Create an instance of number and days
       AdvanceTicket at1=new AdvanceTicket (13,12);
       System.out.println(at1);

       //Create an instance of number and days
       AdvanceTicket at2 = new AdvanceTicket(14,2);
       System.out.println(at2);

       //Create an instance of number and days
       StudentAdvanceTicket sat1= new StudentAdvanceTicket(15,20);
       System.out.println(sat1);

       //Create an instance of number and days
       StudentAdvanceTicket sat2= new StudentAdvanceTicket(16,4);
       System.out.println(sat2);

   }

}

------------------------------------------------------------------------------------------------------------------------------------------------

Sample Output:

Number : 12, Price :50.0
Number : 13, Price :30.0
Number : 14, Price :40.0
Number : 15, Price :15.0 (ID required)
Number : 16, Price :20.0 (ID required)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote