SHARE
SPREAD
HELP

The Tradition of Sharing

Help your friends and juniors by posting answers to the questions that you know. Also post questions that are not available.


To start with, Sr2Jr’s first step is to reduce the expenses related to education. To achieve this goal Sr2Jr organized the textbook’s question and answers. Sr2Jr is community based and need your support to fill the question and answers. The question and answers posted will be available free of cost to all.

 

#
Authors:
Stuart Reges, Marty Stepp
Chapter:
Inheritance And Interfaces
Exercise:
Exercises
Question:6 | ISBN:9780136091813 | Edition: 2

Question

Implement a class called AdvanceTicket to represent tickets purchased in advance. An advance ticket is constructed with a ticket number and with the number of days in advance that the ticket was purchased. Advance tickets purchased 10 or more days before the event cost $30, and advance tickets purchased fewer than 10 days before the event cost $40.

TextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbook

Answer

public class Ticket {

	int ticketNumber;
	int ticketPrice;

	public Ticket(int ticketNumber) {

		this.ticketNumber = ticketNumber;

	}

	public Ticket() {

	}

	public int getTicketNumber() {
		return ticketNumber;
	}

	public void setTicketNumber(int ticketNumber) {
		this.ticketNumber = ticketNumber;
	}

	public int getTicketPrice() {
		return ticketPrice;
	}

	public void setTicketPrice(int ticketPrice) {
		this.ticketPrice = ticketPrice;
	}

}


// new AdvanceTicket Subclass was created with the parent class Ticket
public class AdvanceTicket extends Ticket {

	int ticketNumber;
	int numberOfDaysBeforeEvent;
	int price = 40;

	public int getTicketNumber() {
		return ticketNumber;
	}

	public void setTicketNumber(int ticketNumber) {
		this.ticketNumber = ticketNumber;
	}

	public int getPrice() {
		return price;
	}

	public void setPrice(int price) {
		this.price = price;
	}

	public int getNumberOfDaysBeforeEvent() {
		return numberOfDaysBeforeEvent;
	}

	public void setNumberOfDaysBeforeEvent(int numberOfDaysBeforeEvent) {
		this.numberOfDaysBeforeEvent = numberOfDaysBeforeEvent;
	}

	public AdvanceTicket(int ticketNumber, int daysBeforeEvent) {
		this.ticketNumber = ticketNumber;
		this.numberOfDaysBeforeEvent = daysBeforeEvent;
	}

	public AdvanceTicket() {

	}

	@Override
	public String toString() {

		if (this.getNumberOfDaysBeforeEvent() > 10)
			this.setPrice(30);

		return "Ticket number: " + this.getTicketNumber() + ", price: " + this.getPrice() + "." + " purchased "
				+ this.getNumberOfDaysBeforeEvent() + " days before the event. \n";
	}

// driver method
	public static void main(String args[]) {

         // initiate the AdvanceTicket class
		AdvanceTicket ad = new AdvanceTicket(27, 12);
		AdvanceTicket ad1 = new AdvanceTicket(44, 4);
		AdvanceTicket ad2 = new AdvanceTicket(63, 15);
		AdvanceTicket ad3 = new AdvanceTicket(54, 2);

		System.out.println(ad);
		System.out.println(ad1);
		System.out.println(ad2);
		System.out.println(ad3);

	}

}
Output:

Ticket number: 27, price: 30. purchased 12 days before the event. 

Ticket number: 44, price: 40. purchased 4 days before the event. 

Ticket number: 63, price: 30. purchased 15 days before the event. 

Ticket number: 54, price: 40. purchased 1 days before the event. 

 

0 0

Discussions

Post the discussion to improve the above solution.