Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions DeluxeBurger.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
public class DeluxeBurger extends Hamburger{

public DeluxeBurger() {
super("Deluxe", "Sausage & Bacon", 14.54, "White");
super.addHamburgerAddition1("Chips",2.75);
super.addHamburgerAddition2("Drink", 1.81);
}

@Override
public void addHamburgerAddition1(String name, double price) {
return;
}

@Override
public void addHamburgerAddition2(String name, double price) {
return;
}

@Override
public void addHamburgerAddition3(String name, double price) {
return;
}

@Override
public void addHamburgerAddition4(String name, double price) {
return;
}

}
75 changes: 75 additions & 0 deletions Hamburger.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
import java.text.DecimalFormat;

public class Hamburger {
private String name;
private String meat;
protected double basePrice;
private String breadRollType;

protected String addition1Name;
protected double addition1Price;
protected String addition2Name;
protected double addition2Price;
protected String addition3Name;
protected double addition3Price;
protected String addition4Name;
protected double addition4Price;





public Hamburger(String name, String meat, double basePrice, String breadRollType) {
if (this instanceof DeluxeBurger) System.out.println("Cannot not add additional items to a deluxe burger");
System.out.printf("%s hamburger on a %s roll with %s, price is %.2f\n",name, breadRollType, meat, basePrice);
this.name = name;
this.meat = meat;
this.basePrice = basePrice;
this.breadRollType = breadRollType;
}

public void addHamburgerAddition1(String name, double price) {
System.out.printf("Add %s for an extra %.2f\n", name, price);
this.addition1Name = name;
this.addition1Price = price;

}

public void addHamburgerAddition2(String name, double price) {
System.out.printf("Add %s for an extra %.2f\n", name, price);
this.addition2Name = name;
this.addition2Price = price;
}

public void addHamburgerAddition3(String name, double price) {
System.out.printf("Add %s for an extra %.2f\n", name, price);
this.addition3Name = name;
this.addition3Price = price;
}

public void addHamburgerAddition4(String name, double price) {
System.out.printf("Add %s for an extra %.2f\n", name, price);
this.addition4Name = name;
this.addition4Price = price;
}

public double itemizeHamburger() {
double totalPrice = basePrice +
((addition1Name != null) ? addition1Price : 0) +
((addition2Name != null) ? addition2Price : 0) +
((addition3Name != null) ? addition3Price : 0) +
((addition4Name != null) ? addition4Price : 0);
totalPrice = (double) Math.round(totalPrice * 100) / 100.0;
// DecimalFormat df = new DecimalFormat();
// df.set;
// String ans = df.format(totalPrice);
return totalPrice;





}


}
30 changes: 30 additions & 0 deletions HealthyBurger.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
public class HealthyBurger extends Hamburger{
private String healthyExtra1Name;
private double healthyExtra1Price;
private String healthyExtra2Name;
private double healthyExtra2Price;


public HealthyBurger(String meat, double price) {
super("Healthy", meat, price, "Brown rye");

}

public void addHealthyAddition1(String healthyExtra1Name, double healthyExtra1Price) {
System.out.printf("Add %s for an extra %.2f\n", healthyExtra1Name, healthyExtra1Price);
this.healthyExtra1Name = healthyExtra1Name;
this.healthyExtra1Price = healthyExtra1Price;

}
public void addHealthyAddition2(String healthyExtra2Name, double healthyExtra2Price) {
System.out.printf("Add %s for an extra %.2f\n", healthyExtra2Name, healthyExtra2Price);
this.healthyExtra2Name = healthyExtra2Name;
this.healthyExtra2Price = healthyExtra2Price;
}

@Override
public double itemizeHamburger() {
super.basePrice += healthyExtra1Price + healthyExtra2Price;
return super.itemizeHamburger();
}
}
20 changes: 20 additions & 0 deletions Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
public class Main {
public static void main(String[] args) {
Hamburger hamburger = new Hamburger("Basic", "Sausage", 3.56, "White");
hamburger.addHamburgerAddition1("Tomato", 0.27);
hamburger.addHamburgerAddition2("Lettuce", 0.75);
hamburger.addHamburgerAddition3("Cheese", 1.13);
System.out.println("Total Burger price is " + hamburger.itemizeHamburger());

HealthyBurger healthyBurger = new HealthyBurger("Bacon", 5.67);
healthyBurger.addHamburgerAddition1("Egg", 5.43);
healthyBurger.addHealthyAddition1("Lentils", 3.41);
System.out.println("Total Healthy Burger price is " + healthyBurger.itemizeHamburger());


DeluxeBurger db = new DeluxeBurger();
db.addHamburgerAddition3("Should not do this", 50.53);
System.out.println("Total Deluxe Burger price is " + db.itemizeHamburger());

}
}