Java编写一个酒店管理程序,实现下功能:查询功能订房功能退房功能选择服务功能和结账功能
时间: 2024-03-23 17:36:33 浏览: 26
下面是一个简单的 Java 酒店管理程序,实现了查询、订房、退房、选择服务和结账功能:
```java
import java.util.Scanner;
public class HotelManagementSystem {
private static Scanner scanner = new Scanner(System.in);
private static final int ROOM_COUNT = 10;
private static boolean[] rooms = new boolean[ROOM_COUNT];
public static void main(String[] args) {
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.println("0. 退出系统");
int choice = scanner.nextInt();
switch (choice) {
case 1:
queryRoomStatus();
break;
case 2:
bookRoom();
break;
case 3:
checkoutRoom();
break;
case 4:
selectService();
break;
case 5:
checkout();
break;
case 0:
System.out.println("感谢使用酒店管理系统,再见!");
return;
default:
System.out.println("输入无效,请重新输入!");
break;
}
}
}
private static void queryRoomStatus() {
System.out.println("当前房间状态为:");
for (int i = 0; i < ROOM_COUNT; i++) {
System.out.print((i + 1) + "号房间:");
if (rooms[i]) {
System.out.println("已入住");
} else {
System.out.println("空闲");
}
}
}
private static void bookRoom() {
System.out.println("请输入要订房的房间号:");
int roomNumber = scanner.nextInt();
if (roomNumber < 1 || roomNumber > ROOM_COUNT) {
System.out.println("房间号输入无效!");
return;
}
if (rooms[roomNumber - 1]) {
System.out.println("该房间已入住!");
return;
}
rooms[roomNumber - 1] = true;
System.out.println("订房成功!");
}
private static void checkoutRoom() {
System.out.println("请输入要退房的房间号:");
int roomNumber = scanner.nextInt();
if (roomNumber < 1 || roomNumber > ROOM_COUNT) {
System.out.println("房间号输入无效!");
return;
}
if (!rooms[roomNumber - 1]) {
System.out.println("该房间未入住!");
return;
}
rooms[roomNumber - 1] = false;
System.out.println("退房成功!");
}
private static void selectService() {
System.out.println("请选择服务:");
System.out.println("1. 叫醒服务");
System.out.println("2. 帮助搬行李");
System.out.println("3. 订餐服务");
int serviceNumber = scanner.nextInt();
switch (serviceNumber) {
case 1:
System.out.println("已为您安排叫醒服务!");
break;
case 2:
System.out.println("已为您安排搬运服务!");
break;
case 3:
System.out.println("已为您安排订餐服务!");
break;
default:
System.out.println("输入无效,请重新输入!");
break;
}
}
private static void checkout() {
double totalCost = 0;
for (int i = 0; i < ROOM_COUNT; i++) {
if (rooms[i]) {
totalCost += 100; // 假设每个房间的价格为 100 元
}
}
System.out.println("您的消费总额为:" + totalCost + " 元");
System.out.println("谢谢光临,欢迎下次再来!");
for (int i = 0; i < ROOM_COUNT; i++) {
rooms[i] = false;
}
}
}
```
程序中使用了一个 boolean 数组 `rooms` 来表示每个房间是否被占用,其中 `rooms[i]` 表示第 i+1 个房间是否被占用。在订房和退房时,只需要修改相应房间的状态即可。在选择服务和结账时,根据房间状态来计算消费总额。