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)
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.