0% found this document useful (0 votes)
15 views

java ticket exercise

Uploaded by

heranialemu69
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

java ticket exercise

Uploaded by

heranialemu69
Copyright
© © All Rights Reserved
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