餐桌状态显示和订座功能(Java实现)
在餐厅或咖啡馆中,管理餐桌状态和提供订座功能是非常重要的。这样的系统可以让顾客知道哪些餐桌是可用的,哪些是已预订的或正在使用中。同时,顾客也可以通过该系统预订餐桌,以确保他们在到达时有可用的座位。在本文中,我们将使用Java编程语言实现一个简单的餐桌状态显示和订座功能。
- 餐桌类(Table)
首先,我们需要定义一个餐桌类来表示每个餐桌的状态。每个餐桌都有一个唯一的ID和状态(可用、已预订或正在使用中)。
public class Table {
private int id;
private TableStatus status;
public Table(int id) {
this.id = id;
this.status = TableStatus.AVAILABLE;
}
public int getId() {
return id;
}
public TableStatus getStatus() {
return status;
}
public void setStatus(TableStatus status) {
this.status = status;
}
}
- 餐桌状态(TableStatus)枚举类
为了表示餐桌的不同状态,我们使用一个枚举类来定义状态的常量。
public enum TableStatus {
AVAILABLE,
RESERVED,
OCCUPIED
}
- 餐厅类(Restaurant)
接下来,我们创建一个餐厅类,该类包含一组餐桌,并提供显示餐桌状态和订座的功能。
import java.util.ArrayList;
import java.util.List;
public class Restaurant {
private List<Table> tables;
public Restaurant(int numTables) {
tables = new ArrayList<>();
for (int i = 1; i <= numTables; i++) {
tables.add(new Table(i));
}
}
public void displayTableStatus() {
for (Table table : tables) {
System.out.println("Table " + table.getId() + ": " + table.getStatus());
}
}
public boolean reserveTable(int tableId) {
Table table = getTableById(tableId);
if (table != null && table.getStatus() == TableStatus.AVAILABLE) {
table.setStatus(TableStatus.RESERVED);
return true;
}
return false;
}
private Table getTableById(int tableId) {
for (Table table : tables) {
if (table.getId() == tableId) {
return table;
}
}
return null;
}
}
在上述代码中,我们创建了一个餐厅类,它接受一个参数来指定餐桌的数量。在构造函数中,我们使用循环创建了指定数量的餐桌,并将它们添加到餐厅的餐桌列表中。
餐厅类还提供了两个方法:displayTableStatus()
用于显示餐桌状态,reserveTable(int tableId)
用于预订餐桌。displayTableStatus()
方法遍历餐桌列表,并打印每个餐桌的ID和状态。reserveTable(int tableId)
方法根据传入的餐桌ID找到对应的餐桌,并检查其状态是否可用。如果餐桌可用,将状态设置为预订,并返回true表示预订成功;否则返回false表示预订失败。
- 主程序
我们可以在主程序中使用餐厅类来测试餐桌状态显示和订座功能。
public class Main {
public static void main(String[] args) {
Restaurant restaurant = new Restaurant(5);
System.out.println("Initial table status:");
restaurant.displayTableStatus();
System.out.println("Reserving table 3...");
boolean reservationResult = restaurant.reserveTable(3);
if (reservationResult) {
System.out.println("Table 3 reserved successfully.");
} else {
System.out.println("Table 3 reservation failed.");
}
System.out.println("Table status after reservation餐桌状态显示和订座功能(Java实现)
在餐厅或咖啡馆中,管理餐桌状态和提供订座功能是非常重要的。这样的系统可以让顾客知道哪些餐桌是可用的,哪些是已预订的或正在使用中。同时,顾客也可以通过该系统预订餐桌,以确保他们在到达时有可用的座位。在本文中,我们将使用Java编程语言实现一个简单的餐桌状态显示和订座功能。
1. 餐桌类(Table)
首先,我们需要定义一个餐桌类来表示每个餐桌的状态。每个餐桌都有一个唯一的ID和状态(可用、已预订或正在使用中)。
```java
public class Table {
private int id;
private TableStatus status;
public Table(int id) {
this.id = id;
this.status = TableStatus.AVAILABLE;
}
public int getId() {
return id;
}
public TableStatus getStatus() {
return status;
}
public void setStatus(TableStatus status) {
this.status = status;
}
}
- 餐桌状态(TableStatus)枚举类
为了表示餐桌的不同状态,我们使用一个枚举类来定义状态的常量。
public enum TableStatus {
AVAILABLE,
RESERVED,
OCCUPIED
}
- 餐厅类(Restaurant)
接下来,我们创建一个餐厅类,该类包含一组餐桌,并提供显示餐桌状态和订座的功能。
import java.util.ArrayList;
import java.util.List;
public class Restaurant {
private List<Table> tables;
public Restaurant(int numTables) {
tables = new ArrayList<>();
for (int i = 1; i <= numTables; i++) {
tables.add(new Table(i));
}
}
public void displayTableStatus() {
for (Table table : tables) {
System.out.println("餐桌 " + table.getId() + ": " + table.getStatus());
}
}
public boolean reserveTable(int tableId) {
Table table = getTableById(tableId);
if (table != null && table.getStatus() == TableStatus.AVAILABLE) {
table.setStatus(TableStatus.RESERVED);
return true;
}
return false;
}
private Table getTableById(int tableId) {
for (Table table : tables) {
if (table.getId() == tableId) {
return table;
}
}
return null;
}
}
在上述代码中,我们创建了一个餐厅类,它接受一个参数来指定餐桌的数量。在构造函数中,我们使用循环创建了指定数量的餐桌,并将它们添加到餐厅的餐桌列表中。
餐厅类还提供了两个方法:displayTableStatus()
用于显示餐桌状态,reserveTable(int tableId)
用于预订餐桌。displayTableStatus()
方法遍历餐桌列表,并打印每个餐桌的ID和状态。reserveTable(int tableId)
方法根据传入的餐桌ID找到对应的餐桌,并检查其状态是否可用。如果餐桌可用,将状态设置为预订,并返回true表示预订成功;否则返回false表示预订失败。
- 主程序
我们可以在主程序中使用餐厅类来测试餐桌状态显示和订座功能。
public class Main {
public static void main(String[] args) {
Restaurant restaurant = new Restaurant(5);
System.out.println("初始餐桌状态:");
restaurant.displayTableStatus();
System.out.println("预订餐桌 3...");
boolean reservationResult = restaurant.reserveTable(3);
if (reservationResult) {
System.out.println("餐桌 3 预订成功。");
} else