java简易的酒店管理系统
时间: 2024-05-30 13:06:50 浏览: 9
Java简易的酒店管理系统可以包括以下功能模块:
1. 登录/注册:用户可以通过输入用户名和密码进行登录,如果没有账户,可以进行注册。
2. 预订房间:用户可以选择入住日期、离开日期、房型等信息,系统会根据用户需求自动匹配可用房间,并显示对应的价格。
3. 取消预订:用户可以在入住前取消预订,并得到相应的退款。
4. 入住/退房:用户在入住时需要进行身份验证,并支付相应的房费,退房时需要进行结账。
5. 管理员功能:管理员可以添加/删除房间信息、修改房间价格、查看入住/退房记录等。
相关问题
java简易酒店管理系统
以下是一个简单的Java酒店管理系统的实现,包括房间预定、退房和查询房间状态等功能:
```java
import java.util.Scanner;
public class Hotel {
private Room[][] rooms; // 酒店房间数组
private int totalRooms; // 酒店总房间数
private int reservedRooms; // 预定的房间数
// 构造方法,初始化酒店房间数组
public Hotel(int rows, int cols) {
rooms = new Room[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
rooms[i][j] = new Room((i + 1) * 100 + (j + 1)); // 给每个房间编号
}
}
totalRooms = rows * cols;
reservedRooms = 0;
}
// 预定房间
public void reserveRoom(int roomNum) {
int row = (roomNum / 100) - 1;
int col = (roomNum % 100) - 1;
if (rooms[row][col].isAvailable()) {
rooms[row][col].reserve();
reservedRooms++;
System.out.println("预定成功!");
} else {
System.out.println("该房间已被预定,请选择其他房间!");
}
}
// 退房
public void checkout(int roomNum) {
int row = (roomNum / 100) - 1;
int col = (roomNum % 100) - 1;
if (!rooms[row][col].isAvailable()) {
rooms[row][col].checkout();
reservedRooms--;
System.out.println("退房成功!");
} else {
System.out.println("该房间未被预定,无法退房!");
}
}
// 查询房间状态
public void checkRoomStatus(int roomNum) {
int row = (roomNum / 100) - 1;
int col = (roomNum % 100) - 1;
if (rooms[row][col].isAvailable()) {
System.out.println("该房间未被预定!");
} else {
System.out.println("该房间已被预定!");
}
}
// 显示酒店房间状态
public void displayRoomStatus() {
System.out.println("酒店房间状态:");
for (int i = 0; i < rooms.length; i++) {
for (int j = 0; j < rooms[i].length; j++) {
System.out.print(rooms[i][j].getRoomNum() + ": ");
if (rooms[i][j].isAvailable()) {
System.out.println("空闲");
} else {
System.out.println("已预定");
}
}
}
System.out.println("总房间数:" + totalRooms);
System.out.println("已预定房间数:" + reservedRooms);
System.out.println("空闲房间数:" + (totalRooms - reservedRooms));
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Hotel hotel = new Hotel(5, 5); // 创建一个5行5列的酒店
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 预定房间");
System.out.println("2. 退房");
System.out.println("3. 查询房间状态");
System.out.println("4. 显示酒店房间状态");
System.out.println("5. 退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("请输入要预定的房间号:");
int roomNum = scanner.nextInt();
hotel.reserveRoom(roomNum);
break;
case 2:
System.out.println("请输入要退房的房间号:");
roomNum = scanner.nextInt();
hotel.checkout(roomNum);
break;
case 3:
System.out.println("请输入要查询的房间号:");
roomNum = scanner.nextInt();
hotel.checkRoomStatus(roomNum);
break;
case 4:
hotel.displayRoomStatus();
break;
case 5:
System.exit(0);
default:
System.out.println("无效的选择!");
}
}
}
}
class Room {
private int roomNum; // 房间号
private boolean available; // 房间是否空闲
public Room(int roomNum) {
this.roomNum = roomNum;
available = true;
}
public int getRoomNum() {
return roomNum;
}
public boolean isAvailable() {
return available;
}
public void reserve() {
available = false;
}
public void checkout() {
available = true;
}
}
```
简易的java酒店管理系统
好的,下面是一个简易的Java酒店管理系统,包括客房管理、预订、入住和退房等功能:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class HotelManagementSystem {
private static ArrayList<Room> roomList = new ArrayList<>();
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
// 初始化房间信息
for (int i = 1; i <= 10; i++) {
roomList.add(new Room(i, "单人间", "空闲"));
}
for (int i = 11; i <= 20; i++) {
roomList.add(new Room(i, "双人间", "空闲"));
}
while (true) {
System.out.println();
System.out.println("欢迎使用酒店管理系统!");
System.out.println("1. 客房列表");
System.out.println("2. 预订客房");
System.out.println("3. 入住客房");
System.out.println("4. 退房");
System.out.println("5. 退出系统");
System.out.print("请选择操作:");
int choice = scanner.nextInt();
switch (choice) {
case 1:
printRoomList();
break;
case 2:
reserveRoom();
break;
case 3:
checkinRoom();
break;
case 4:
checkoutRoom();
break;
case 5:
System.out.println("谢谢使用酒店管理系统!");
System.exit(0);
default:
System.out.println("无效操作,请重新选择!");
break;
}
}
}
// 打印客房列表
private static void printRoomList() {
System.out.println("客房列表:");
for (Room room : roomList) {
System.out.println(room);
}
}
// 预订客房
private static void reserveRoom() {
System.out.print("请输入要预订的客房号码:");
int roomId = scanner.nextInt();
Room room = findRoom(roomId);
if (room == null) {
System.out.println("客房不存在!");
} else if (room.getStatus().equals("预订") || room.getStatus().equals("入住")) {
System.out.println("客房已被预订或入住!");
} else {
System.out.print("请输入预订人姓名:");
String name = scanner.next();
System.out.print("请输入预订日期:");
String date = scanner.next();
room.setReserve(name, date);
System.out.println("预订成功!");
}
}
// 入住客房
private static void checkinRoom() {
System.out.print("请输入要入住的客房号码:");
int roomId = scanner.nextInt();
Room room = findRoom(roomId);
if (room == null) {
System.out.println("客房不存在!");
} else if (room.getStatus().equals("预订") || room.getStatus().equals("入住")) {
System.out.println("客房已被预订或入住!");
} else {
System.out.print("请输入入住人姓名:");
String name = scanner.next();
System.out.print("请输入入住日期:");
String date = scanner.next();
room.setCheckin(name, date);
System.out.println("入住成功!");
}
}
// 退房
private static void checkoutRoom() {
System.out.print("请输入要退房的客房号码:");
int roomId = scanner.nextInt();
Room room = findRoom(roomId);
if (room == null) {
System.out.println("客房不存在!");
} else if (room.getStatus().equals("空闲")) {
System.out.println("客房未被预订或入住!");
} else {
System.out.print("请输入退房日期:");
String date = scanner.next();
room.setCheckout(date);
System.out.println("退房成功!");
}
}
// 根据房间号码查找房间
private static Room findRoom(int roomId) {
for (Room room : roomList) {
if (room.getId() == roomId) {
return room;
}
}
return null;
}
}
class Room {
private int id;
private String type;
private String status;
private String reserveName;
private String reserveDate;
private String checkinName;
private String checkinDate;
private String checkoutDate;
public Room(int id, String type, String status) {
this.id = id;
this.type = type;
this.status = status;
}
public int getId() {
return id;
}
public String getType() {
return type;
}
public String getStatus() {
return status;
}
public String getReserveName() {
return reserveName;
}
public String getReserveDate() {
return reserveDate;
}
public String getCheckinName() {
return checkinName;
}
public String getCheckinDate() {
return checkinDate;
}
public String getCheckoutDate() {
return checkoutDate;
}
// 设置预订信息
public void setReserve(String name, String date) {
reserveName = name;
reserveDate = date;
status = "预订";
}
// 设置入住信息
public void setCheckin(String name, String date) {
checkinName = name;
checkinDate = date;
status = "入住";
}
// 设置退房信息
public void setCheckout(String date) {
checkoutDate = date;
reserveName = "";
reserveDate = "";
checkinName = "";
checkinDate = "";
status = "空闲";
}
@Override
public String toString() {
String str = "客房号码:" + id + ",类型:" + type + ",状态:" + status;
if (status.equals("预订")) {
str += ",预订人:" + reserveName + ",预订日期:" + reserveDate;
} else if (status.equals("入住")) {
str += ",入住人:" + checkinName + ",入住日期:" + checkinDate;
} else if (status.equals("退房")) {
str += ",退房日期:" + checkoutDate;
}
return str;
}
}
```
这个系统使用了一个Room类来表示客房,包含了客房号码、客房类型、客房状态(空闲、预订或入住)以及客人的预订、入住和退房信息。HotelManagementSystem类则提供了一系列方法来实现客房管理、预订、入住和退房等功能。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)