酒店订房管理系统

学习Java的第一个小系统(数组的调用和方法的使用)

package com.face;import java.util.Scanner;/*** 酒店订房管理系统 作业: 订房时,如果输入房间号在酒店中不存在,要进行提示 * 退房时,如果输入房间号在酒店中不存在,要进行提示* 订房或者退房时,如果操作错了,可以让他继续操作,不用直接显示主菜单* * **/
public class Practis {// 定义酒店楼层static int floor = 9;// 定义每层房间数static int room = 9;// 定义一个二维数组用来存放房间的入住状态,没入住就显示emptystatic String[][] rooms = new String[floor][room];// 存放每个房间对应的入住名字static String[][] names = new String[floor][room];// 定义全局可用的键盘扫描器static Scanner key = new Scanner(System.in);// 程序入口public static void main(String[] args) {// 初始化房间,将入住状态设置为empty// 遍历二维数组for (int i = 0; i < rooms.length; i++) {for (int j = 0; j < names.length; j++) {// 修改数组的初始值rooms[i][j] = "empty";}}// 设置循环,让系统可以一直运行// 定义一个标记boolean flag = true;while (flag) {// 显示帮助界面help();// 接收用户输入的内容String con = key.next();// 判断用户的输入需求if (con.equals("search")) {// 查询房间的入住状态searchRoom();} else if (con.equals("in")) {// 预定房间inTheRoom();} else if (con.equals("out")) {// 退房outTheRoom();} else if (con.equals("exit")) {// 退出系统System.out.println("官人请走好,欢迎下次体验呐~~");break;}}}// 创建一个提示用户输入的类public static void help() {System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");// 显示酒店界面System.out.println("~~~~~~~~~~~欢迎来到迷人哥的小黑屋大酒店~~~~~~~~~~~~~~~~~");System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");// 提示用户选择操作System.out.println("~~~~~~~~~~~~~~~请选择你要查询的信息~~~~~~~~~~~~~~~~~~~~~");// 查询房间状态System.out.println("~~~~~~~~~~~输入 search 查询房间是否有美女~~~~~~~~~~~~~~~");// 订房System.out.println("~~~~~~~~~~~~~~~~~~输入 in 预定房间~~~~~~~~~~~~~~~~~~~~~~");// 退房System.out.println("~~~~~~~~~~~~~~~~~~~输入 out 退房~~~~~~~~~~~~~~~~~~~~~~~~");// 退出系统System.out.println("~~~~~~~~~~~~~~输入 exit 退出当前操作系统~~~~~~~~~~~~~~~~");System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");// 重新输入System.out.println("请输入指令:");}// 创建一个查询房间入住状态的类public static void searchRoom() {// for循环遍历数组for (int i = 0; i < rooms.length; i++) {for (int j = 0; j < rooms[i].length; j++) {// 输出房间号System.out.print((i + 1) * 1000 + (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("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");}}// 创建一个预定房间的类public static void inTheRoom() {System.out.println("请输入你要预定的小黑屋号码");// 接收输入的房间号int num = key.nextInt();// 输入的是1001号房		// 1001号在二维数组中的位置 [0][0]int floor= num / 1000 - 1;int room = num % 1000-1;// 判断该房间是否有人入住// 判断房间对应的状态是否为empty,数组中是否有值if(rooms[floor][room].equals("empty")) {//如果为空,办理入住手续//提示用户输入姓名			System.out.println("此房间没有美女,赶快报上名来:");//接收姓名String name = key.next();//将对应的数组修改为****,即给数组赋值为****rooms[floor][room]="****";//保存名字names[floor][room]=name;//提示预订成功System.out.println("您已成功入住小黑屋,请保管好您的包包单单~~");}else {//若房间有人,提示重新预定System.out.println("想偷看美女洗澡吗,"+num+"号小黑屋已经有人入住了,请重新预定");}}// 创建一个退房的类public static void outTheRoom() {//提示用户输入要退的房间号System.out.println("大官人,退房请输入房间号哟");//接收用户输入的房间号int num = key.nextInt();int floor= num / 1000 - 1;int room = num % 1000-1;//判断此房间是否有人,有人就执行退房,没人就提示重新输入if(rooms[floor][room].equals("empty")) {//房间是空的,无需退房System.out.println("此号房间是人家美女的,你想帮人家结账退房吗?");}else {//提示输入退房信息System.out.println("大官人,留个名呗,日后好联系呀");//接收姓名String name = key.next();//若姓名相同,则可以退,不相同则退不了System.out.println(names[floor][room]);if(names[floor][room].equals(name)) {//将住房信息修改为空rooms[floor][room]="empty";//清空用户姓名names[floor][room]="null";//提示退房成功System.out.println(num+"号小黑屋已回归美女的名下,欢迎下次光临!");}else {//姓名不匹配,不能退房System.out.println("大款啊,别人还住着呢,你要给人家续房钱也是可以的!");}}}}