Skip to content

Commit 426e376

Browse files
committed
classesPart2 - Complete
1 parent cbd5702 commit 426e376

3 files changed

Lines changed: 94 additions & 5 deletions

File tree

classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/Main.java

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,36 @@ public class Main {
44

55
public static void main(String[] args) {
66

7-
MenuItem item1 = new MenuItem ("Brown Sugar Salmon", "Who doesn't like a little sugar on their salmon?", 34.99, "main course" );
8-
MenuItem item2 = new MenuItem ("Cajun Lobster Mac n' Cheese", "Combining three of your favorites into one dish.", 22.99, "appetizers" );
9-
MenuItem item3 = new MenuItem ("Garlic Breadsticks", "Something light, something cheesy.", 18.99, "appetizers" );
10-
MenuItem item4 = new MenuItem ("8oz Sirloin", "For the men.. or women.", 34.99, "main course" );
11-
MenuItem item5 = new MenuItem ("Unlimited Ice Cream", "Choose 1 or choose all your favorite flavors.", 29.99, "dessert" );
7+
MenuItem item1 = new MenuItem ("Brown Sugar Crusted Salmon", "Who doesn't like a little sugar on their salmon?", 34.99, "main course" );
8+
MenuItem item2 = new MenuItem ("Cajun Mac n' Cheese", "We don't do REGULAR Mac n' Cheese.", 22.99, "appetizers" );
9+
MenuItem item3 = new MenuItem ("Triple Threat", "6 Mozzarella Sticks, 6 Bacon Potato Skins, 6 Mini Burgers.", 34.99, "appetizers" );
10+
MenuItem item4 = new MenuItem ("12oz Sirloin", "For the men.. or women.", 34.99, "main course" );
11+
MenuItem item5 = new MenuItem ("Unlimited Ice Cream", "Choose 1 or choose all your favorite flavors.", 19.99, "desserts" );
1212

13+
System.out.println(item1.isNew());
14+
15+
// TODO Print first line
1316
System.out.println(item1);
1417

18+
// TODO Create menu
19+
Menu menu = new Menu();
20+
21+
// TODO Add items ot menu and print it
22+
menu.addItem(item1);
23+
menu.addItem(item2);
24+
menu.addItem(item3);
25+
menu.addItem(item4);
26+
menu.addItem(item5);
27+
28+
System.out.println(menu);
29+
30+
// TODO Remove an item and print menu
31+
menu.removeItem(item4);
32+
System.out.println(menu);
33+
34+
// TODO Test equals method
35+
System.out.println(item1.equals(item2));
36+
1537
}
1638

1739
}

classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/Menu.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,43 @@ public class Menu {
1111
public ArrayList<MenuItem> getMenuItems() {
1212
return menuItems;
1313
}
14+
// Define custom toString()
15+
@Override
16+
public String toString() {
17+
StringBuilder appetizers = new StringBuilder();
18+
for (MenuItem item : menuItems) {
19+
if (item.getCategory().equals("appetizers")) {
20+
appetizers.append("\n").append(item.toString()).append("\n");
21+
}
22+
}
23+
StringBuilder mainCourse = new StringBuilder();
24+
for (MenuItem item : menuItems) {
25+
if (item.getCategory().equals("main course")) {
26+
mainCourse.append("\n").append(item.toString()).append("\n");
27+
}
28+
}
29+
StringBuilder desserts = new StringBuilder();
30+
for (MenuItem item : menuItems) {
31+
if (item.getCategory().equals("desserts")) {
32+
desserts.append("\n").append(item.toString()).append("\n");
33+
}
34+
}
35+
return "\nGOOD EATS MENU\n" +
36+
"APPETIZERS" + appetizers.toString() + "\n" +
37+
"MAIN COURSES" + mainCourse.toString() + "\n" +
38+
"DESSERTS" + desserts.toString() + "\n";
39+
}
40+
41+
// TODO DEFINE addItem()
42+
void addItem(MenuItem newItem) {
43+
menuItems.add(newItem);
44+
lastUpdated = LocalDate.now();
45+
}
46+
47+
// TODO Remove Item
48+
void removeItem(MenuItem item) {
49+
menuItems.remove(item);
50+
lastUpdated = LocalDate.now();
51+
}
1452

1553
}

classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/MenuItem.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,34 @@ public LocalDate getDateAdded() {
5555
return dateAdded;
5656
}
5757

58+
// TODO Define custom toString()
59+
@Override
60+
public String toString() {
61+
String newText = isNew() ? " - NEW!" : "";
62+
return name + newText + "\n" + description + " | $" + price;
63+
}
64+
65+
// Define custom equals() method
66+
@Override
67+
public boolean equals(Object toBeCompared) {
68+
if (this == toBeCompared) {
69+
return true;
70+
}
71+
if (toBeCompared == null) {
72+
return false;
73+
}
74+
if (getClass() != toBeCompared.getClass()) {
75+
return false;
76+
}
77+
MenuItem otherItem = (MenuItem) toBeCompared;
5878

79+
return this.name.equals(otherItem.getName());
80+
}
81+
82+
// TODO Define instance method isNew()
83+
boolean isNew () {
84+
LocalDate today = LocalDate.now();
85+
double daysBetween = getDateAdded().until(today, ChronoUnit.DAYS);
86+
return daysBetween < 90;
87+
}
5988
}

0 commit comments

Comments
 (0)