Java 酒店系统开发指南

一、整件事情的流程

为了帮助你理解如何实现一个 Java 酒店系统,我将按照以下步骤来解释整个过程:

步骤 描述
步骤 1 创建酒店系统的基本框架
步骤 2 设计酒店房间类
步骤 3 设计顾客类
步骤 4 实现酒店系统的主要功能
步骤 5 编写测试代码并运行酒店系统

二、每一步需要做什么

步骤 1:创建酒店系统的基本框架

首先,我们需要创建一个 Java 项目并设置好相关的依赖。可以使用 Maven、Gradle 或者手动导入所需的 JAR 文件。

步骤 2:设计酒店房间类

在这一步中,我们需要设计一个酒店房间类,包含以下属性和方法:

public class Room {
    private int roomNumber; // 房间号
    private boolean isOccupied; // 是否被占用

    public Room(int roomNumber) {
        this.roomNumber = roomNumber;
        this.isOccupied = false;
    }

    public int getRoomNumber() {
        return roomNumber;
    }

    public boolean isOccupied() {
        return isOccupied;
    }

    public void setOccupied(boolean occupied) {
        isOccupied = occupied;
    }
}

步骤 3:设计顾客类

接下来,我们需要设计一个顾客类,包含以下属性和方法:

public class Customer {
    private String name; // 顾客姓名
    private int roomNumber; // 订房的房间号

    public Customer(String name) {
        this.name = name;
        this.roomNumber = -1; // -1 表示未订房间
    }

    public String getName() {
        return name;
    }

    public int getRoomNumber() {
        return roomNumber;
    }

    public void setRoomNumber(int roomNumber) {
        this.roomNumber = roomNumber;
    }
}

步骤 4:实现酒店系统的主要功能

在这一步中,我们将实现酒店系统的主要功能,包括订房、退房和显示房间状态。

import java.util.ArrayList;
import java.util.List;

public class HotelSystem {
    private List<Room> rooms; // 酒店房间列表
    private List<Customer> customers; // 顾客列表

    public HotelSystem(int numRooms) {
        rooms = new ArrayList<>();
        customers = new ArrayList<>();

        // 初始化酒店房间
        for (int i = 0; i < numRooms; i++) {
            rooms.add(new Room(i + 1));
        }
    }

    public Room getRoom(int roomNumber) {
        return rooms.get(roomNumber - 1);
    }

    public Customer getCustomer(String name) {
        for (Customer customer : customers) {
            if (customer.getName().equals(name)) {
                return customer;
            }
        }
        return null;
    }

    public void bookRoom(Customer customer, int roomNumber) {
        Room room = getRoom(roomNumber);
        if (room != null && !room.isOccupied()) {
            room.setOccupied(true);
            customer.setRoomNumber(roomNumber);
            customers.add(customer);
            System.out.println("订房成功!");
        } else {
            System.out.println("订房失败!");
        }
    }

    public void checkoutRoom(Customer customer) {
        int roomNumber = customer.getRoomNumber();
        if (roomNumber != -1) {
            Room room = getRoom(roomNumber);
            if (room != null && room.isOccupied()) {
                room.setOccupied(false);
                customer.setRoomNumber(-1);
                customers.remove(customer);
                System.out.println("退房成功!");
            }
        } else {
            System.out.println("退房失败!");
        }
    }

    public void displayRoomStatus() {
        for (Room room : rooms) {
            String status = room.isOccupied() ? "占用" : "空闲";
            System.out.println("房间号:" + room.getRoomNumber() + ",状态:" + status);
        }
    }
}

步骤 5:编写测试代码并运行酒店系统

最后,我们需要编写一些测试代码来验证