Skip to content

Commit fdb7cb1

Browse files
author
ats
committed
Merge pull request LaunchCodeEducation#7 from LaunchCodeEducation/exceptions-starter
Setting up starter code for exceptions chapter
1 parent 6c5a3fc commit fdb7cb1

4 files changed

Lines changed: 97 additions & 41 deletions

File tree

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

Lines changed: 0 additions & 18 deletions
This file was deleted.

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

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,50 @@
33
import java.util.List;
44

55
public class Menu {
6-
private List<MenuItem> menuItems;
7-
private Date lastUpdated;
6+
private List<MenuItem> items;
7+
private Date lastUpdateDate;
88

99
public Menu() {
10-
menuItems = new ArrayList<>();
11-
lastUpdated = new Date(); // Initialize with the current date
10+
items = new ArrayList<>();
11+
lastUpdateDate = new Date();
1212
}
1313

14-
public List<MenuItem> getMenuItems() {
15-
return menuItems;
14+
public void addItem(MenuItem item) {
15+
if (!items.contains(item)) {
16+
items.add(item);
17+
lastUpdateDate = new Date();
18+
System.out.println("Item added to the menu.");
19+
} else {
20+
System.out.println("Warning: Item already exists on the menu.");
21+
}
1622
}
1723

18-
public Date getLastUpdated() {
19-
return lastUpdated;
24+
public void removeItem(MenuItem item) {
25+
if (items.contains(item)) {
26+
items.remove(item);
27+
lastUpdateDate = new Date();
28+
System.out.println("Item removed from the menu.");
29+
} else {
30+
System.out.println("Item not found on the menu.");
31+
}
2032
}
21-
}
33+
34+
public boolean isNewItem(MenuItem item) {
35+
return item.isNew();
36+
}
37+
38+
public Date getLastUpdateDate() {
39+
return lastUpdateDate;
40+
}
41+
42+
public void printMenu() {
43+
if (items.isEmpty()) {
44+
System.out.println("The menu is empty.");
45+
} else {
46+
System.out.println("Menu (Last Updated: " + lastUpdateDate + ")");
47+
for (MenuItem item : items) {
48+
item.printMenuItem();
49+
}
50+
}
51+
}
52+
}
Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,59 @@
11
public class MenuItem {
2-
private String name;
3-
private double price;
4-
private String description;
52
private String category;
3+
private String description;
4+
private double price;
65
private boolean isNew;
76

8-
public MenuItem(String name, double price, String description, String category, boolean isNew) {
9-
this.name = name;
10-
this.price = price;
11-
this.description = description;
7+
public MenuItem(String category, String description, double price, boolean isNew) {
128
this.category = category;
9+
this.description = description;
10+
this.price = price;
1311
this.isNew = isNew;
1412
}
1513

16-
public String getName() {
17-
return name;
14+
// Getters and setters for category, description, price, and isNew
15+
16+
public String getCategory() {
17+
return category;
18+
}
19+
20+
public String getDescription() {
21+
return description;
1822
}
1923

2024
public double getPrice() {
2125
return price;
2226
}
2327

24-
public String getDescription() {
25-
return description;
28+
public void setPrice(double price) {
29+
this.price = price;
2630
}
2731

28-
public String getCategory() {
29-
return category;
32+
public void setDescription(String description) {
33+
this.description = description;
34+
}
35+
36+
@Override
37+
public boolean equals(Object obj) {
38+
if (this == obj) {
39+
return true;
40+
}
41+
if (obj == null || getClass() != obj.getClass()) {
42+
return false;
43+
}
44+
MenuItem menuItem = (MenuItem) obj;
45+
return description.equals(menuItem.description);
46+
}
47+
48+
public void printMenuItem() {
49+
System.out.println("Category: " + category);
50+
System.out.println("Description: " + description);
51+
System.out.println("Price: $" + price);
52+
System.out.println("New Item: " + isNew);
53+
System.out.println("-----");
3054
}
3155

3256
public boolean isNew() {
3357
return isNew;
3458
}
35-
}
59+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
public class Restaurant {
2+
public static void main(String[] args) {
3+
Menu menu = new Menu();
4+
5+
MenuItem item1 = new MenuItem("Appetizer", "Salad", 8.99, true);
6+
MenuItem item2 = new MenuItem("Main Course", "Pasta", 12.99, false);
7+
8+
menu.addItem(item1);
9+
menu.addItem(item2);
10+
11+
menu.printMenu();
12+
13+
item1.printMenuItem();
14+
15+
menu.removeItem(item2);
16+
17+
menu.printMenu();
18+
}
19+
}

0 commit comments

Comments
 (0)