用java实现简易酒店管理系统

用java实现简易酒店管理系统

显示“菜单” 选项:1.查房 2.订房 3.退房 4.退出系统
当输入1时,显示如图的每个房间的房间号以及入住状态
当输入2时,显示“欢迎进入订房功能”
当输入3时,显示“欢迎进入退房功能”
当输入4时,显示“退出系统”
当输入1时,启用查房功能


```package day0115;

import java.util.Scanner;

/**
 * 酒店订房系统
 * 当输入1时,启动查房功能,假设酒店有5层楼,每层楼有9个房间,初始的时候,酒店没有住人,入住状态都是empty(空,表示没人住)。
 当输入2时,启动订房功能,1. 如果输入的房间号 在酒店不存在,就不允许订房 2. 如果房间未被人预订,提示可以订房 3.如果房间已被订过,提示订房失败;
  当输入3时,启动退房功能. 1. 输入房间号,如果输入的房间号在酒店不存在,就不允许退房 2. 如果对应的房间号入住状态是"empty"提示用户,该房间无人预定,无需退房 3. 如果有人预定,提示输入姓名 4.
 用输入的姓名和房间预定的姓名进行比较,如果相同,成功退房(将姓名修改为empty)*
 *当输入4时,退出本系统
 * @author 浮城
 */
public class RoomsTask {
	public static void main(String[] args) {
		// 定义一个二维数组,用来存放每个房间的入住状态.
		// String[5][9] 表示,酒店有5层楼,每层楼有9个房间
		String[][] rooms = new String[5][9];
		// 将所有的房间入住状态设置为"empty"
		for (int i = 0; i < rooms.length; i++) {
			for (int j = 0; j < rooms[i].length; j++) {
				rooms[i][j] = "empty";
			}
		}
		System.out.println(" ===~~~欢迎进入品如酒店管理系统~~~===");
		Scanner key = new Scanner(System.in);
		// 死循环: 让系统可以一直反复的执行,
		out: while (true) {
			// 提示用户输入指令
			System.out.println("1.查房   2.订房   3.退房   4.退出系统");
			// 输入指令
			int con = key.nextInt();
			// 根据指令去做相应的操作
			switch (con) {
			// 如果输入的是1 ,就做查房操作
			case 1:
				System.out.println("当前房间状态");
				// i 表示行号(楼层)
				// 遍历二维数组,输出房间号,以及房间的入住状态
				for (int i = 0; i < rooms.length; i++) {
					// j 表示列号(房间编号)
					for (int j = 0; j < rooms[i].length; j++) {
						// 使用i,j拼接房间号
						System.out.print((i + 1) * 100 + (j + 1) + "\t");
					}
					System.out.println();
					for (int j = 0; j < rooms[i].length; j++) {
						// 获取二维数组的元素(房间的入住状态)并输出
						System.out.print(rooms[i][j] + "\t");
					}
					System.out.println();
					System.out.println("-----------------------------------------------------------------------");
				}
				break;
			// 如果输入的是2 ,就做订房操作
			case 2:
				System.out.println("欢迎进入订房功能:");
				System.out.println("请输入房间号:");
				int num = key.nextInt();// 101
				// 将房间号拆成行和列,如果输入的是101 拆成 0 0(二维数组中的位置)
				if (num <= 100 || num > 509) {
					System.out.println("你输入的房间号不存在");// 报错提示,应该是"数组越界"
				} else {
					int i = num / 100 - 1;
					int j = num % 100 - 1;
					// 先判断输入的房间号入住状态是否为"empty"
					// 如果是"empty"说明房间没有人 可以预定
					if (rooms[i][j].equals("empty")) {
						// 输入姓名
						System.out.println("请输入姓名:");
						String name = key.next();
						// 将对应位置上的房间入住状态修改为 name
						rooms[i][j] = name;
						System.out.println(name + "成功预定" + num + "号房间~");
					} else {
						System.out.println(num + "号房间已经被人预定了,订房失败~");
					}
				}
				break;
			// 如果输入的是3,就做退房操作
			case 3:
				System.out.println("欢迎进入退房功能:");
				System.out.println("请输入你要退房的房间号");
				// 接收输入的房间号
				int num1 = key.nextInt();
				if (num1 <= 100 || num1 > 509) {
					System.out.println("你输入的房间号不存在");// 报错提示,应该是"数组越界"
				} else {
					// 判断房间是否有人入住 即判断房间是否是empty;先对输入的房间号其余 如101号在二维数组中的位置是[0][0]
					int i1 = num1 / 100 - 1;
					int j1 = num1 % 100 - 1;
					if (rooms[i1][j1].equals("empty")) {
						System.out.println("你输入的房间无人入住,无需退房");
					} else {
						System.out.println("请输入你的姓名");
						String name = key.next();
						// names[i1][j1] = name;
						if (rooms[i1][j1].equals(name)) {
							// 如果姓名一样,就可以退房,并将房间入住状态改成empty
							rooms[i1][j1] = "empty";
							// 将入住房间的名字清空
							rooms[i1][j1] = null;
							System.out.println(name + "已经退房成功");
						} else {
							System.out.println("你无权退房");
						}
					}
				}
				break;
			// 如果输入的是4,就退出系统
			case 4:
				System.out.println("退出系统");
				break out;
			}
		}
		//关闭键盘扫描器
		key.close();
	}
}



  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值