0% found this document useful (0 votes)
17 views2 pages

Java Ticket Exercise

Uploaded by

heranialemu69
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views2 pages

Java Ticket Exercise

Uploaded by

heranialemu69
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

public abstract class Ticket {

private int ticketNumber;


public Ticket(int ticketNumber) {
this.ticketNumber = ticketNumber;
}
public int getTicketNumber() {
return ticketNumber;
}
public abstract double getPrice();

@Override
public String toString() {
return "Number: " + ticketNumber + ", " + "Price: " + getPrice();
}
}

class WalkupTicket extends Ticket {


private static final double Price = 50.0;

public WalkupTicket(int ticketNumber) {


super(ticketNumber);
}

@Override
public double getPrice() {
return Price;
}
}

class AdvanceTicket extends Ticket {


private static final double Price10OrMoreDays = 30.0;
private static final double PriceLessThan10Days = 40.0;
private int daysInAdvance;

public AdvanceTicket(int ticketNumber, int daysInAdvance) {


super(ticketNumber);
this.daysInAdvance = daysInAdvance;
}

@Override
public double getPrice() {
if (daysInAdvance >= 10 ){
return Price10OrMoreDays;
}else{
return PriceLessTha\n10Days;
}
}
}

class StudentAdvanceTicket extends AdvanceTicket {


public StudentAdvanceTicket(int ticketNumber, int daysInAdvance) {
super(ticketNumber, daysInAdvance);
}

@Override
public double getPrice() {
return super.getPrice() / 2;
}

@Override
public String toString() {
return super.toString() + " (ID required)";
}
}

public class TicketTest {


public static void main(String[] args) {

Ticket walkup = new WalkupTicket(2);


Ticket advanceEarly = new AdvanceTicket(3, 12);
Ticket advanceLate = new AdvanceTicket(4, 4);
Ticket studentEarly = new StudentAdvanceTicket(2, 16);
Ticket studentLate = new StudentAdvanceTicket(2, 8);

System.out.println(walkup);
System.out.println(advanceEarly);
System.out.println(advanceLate);
System.out.println(studentEarly);
System.out.println(studentLate);
}
}

You might also like