java写一个订房系统
时间: 2023-08-15 17:08:52 浏览: 33
好的,下面是一个简单的Java订房系统的实现示例:
```java
import java.util.Scanner;
public class HotelBookingSystem {
private static int[][] rooms = new int[3][10]; // 三层楼,每层10个房间
private static int[] prices = {200, 300, 400}; // 每个房间的价格,分别对应三个等级的房间
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("欢迎使用酒店订房系统,请输入相应的数字选择服务:");
System.out.println("1. 查看房间列表");
System.out.println("2. 预订房间");
System.out.println("3. 退订房间");
System.out.println("4. 退出系统");
int choice = scanner.nextInt();
switch (choice) {
case 1:
printRooms();
break;
case 2:
bookRoom(scanner);
break;
case 3:
cancelRoom(scanner);
break;
case 4:
System.out.println("感谢使用酒店订房系统,再见!");
System.exit(0);
break;
default:
System.out.println("无效的选择,请重新输入!");
break;
}
}
}
// 输出所有房间的状态
private static void printRooms() {
System.out.println("所有房间的状态如下:");
for (int i = 0; i < rooms.length; i++) {
System.out.println("第" + (i + 1) + "层:");
for (int j = 0; j < rooms[i].length; j++) {
System.out.print("房间" + (j + 1) + ":" + (rooms[i][j] == 0 ? "空闲" : "已预订") + "\t");
}
System.out.println();
}
}
// 预订房间
private static void bookRoom(Scanner scanner) {
System.out.println("请输入要预订的房间号(格式为:层数 房间号):");
int floor = scanner.nextInt() - 1;
int roomNumber = scanner.nextInt() - 1;
if (floor < 0 || floor >= rooms.length || roomNumber < 0 || roomNumber >= rooms[floor].length) {
System.out.println("无效的房间号,请重新输入!");
return;
}
if (rooms[floor][roomNumber] == 1) {
System.out.println("该房间已被预订,请重新选择房间!");
} else {
System.out.println("请选择要预订的房间等级(1-经济型,2-舒适型,3-豪华型):");
int level = scanner.nextInt() - 1;
if (level < 0 || level >= prices.length) {
System.out.println("无效的房间等级,请重新输入!");
} else {
rooms[floor][roomNumber] = 1;
System.out.println("房间预订成功,房间号为:" + (floor + 1) + "-" + (roomNumber + 1) + ",房间等级为:" + (level + 1) + ",价格为:" + prices[level]);
}
}
}
// 退订房间
private static void cancelRoom(Scanner scanner) {
System.out.println("请输入要退订的房间号(格式为:层数 房间号):");
int floor = scanner.nextInt() - 1;
int roomNumber = scanner.nextInt() - 1;
if (floor < 0 || floor >= rooms.length || roomNumber < 0 || roomNumber >= rooms[floor].length) {
System.out.println("无效的房间号,请重新输入!");
return;
}
if (rooms[floor][roomNumber] == 0) {
System.out.println("该房间未被预订,请重新选择房间!");
} else {
rooms[floor][roomNumber] = 0;
System.out.println("房间退订成功,房间号为:" + (floor + 1) + "-" + (roomNumber + 1));
}
}
}
```
这个订房系统基于命令行界面,提供了查看房间列表、预订房间、退订房间等功能。房间列表以矩阵的形式输出,每个房间有三个等级可供选择。房间的预订和退订都需要输入房间号,层数和房间号都是从1开始计数。