餐桌状态显示和订座功能(Java实现)

餐桌状态显示和订座功能(Java实现)

在餐厅或咖啡馆中,管理餐桌状态和提供订座功能是非常重要的。这样的系统可以让顾客知道哪些餐桌是可用的,哪些是已预订的或正在使用中。同时,顾客也可以通过该系统预订餐桌,以确保他们在到达时有可用的座位。在本文中,我们将使用Java编程语言实现一个简单的餐桌状态显示和订座功能。

  1. 餐桌类(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;
    }
}
  1. 餐桌状态(TableStatus)枚举类

为了表示餐桌的不同状态,我们使用一个枚举类来定义状态的常量。

public enum TableStatus {
    AVAILABLE,
    RESERVED,
    OCCUPIED
}
  1. 餐厅类(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表示预订失败。

  1. 主程序

我们可以在主程序中使用餐厅类来测试餐桌状态显示和订座功能。

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;
    }
}
  1. 餐桌状态(TableStatus)枚举类

为了表示餐桌的不同状态,我们使用一个枚举类来定义状态的常量。

public enum TableStatus {
    AVAILABLE,
    RESERVED,
    OCCUPIED
}
  1. 餐厅类(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表示预订失败。

  1. 主程序

我们可以在主程序中使用餐厅类来测试餐桌状态显示和订座功能。

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值