控制台版--酒店管理系统

该博客介绍了如何使用Java编程实现一个简单的控制台版酒店管理系统。系统包括查房、入住、退房和退出等功能,涉及客房、客户和酒店类的设计,通过主方法类进行交互操作。用户可以输入房间号和客户信息来完成入住和退房流程,并能查看当前所有房间的占用情况。
摘要由CSDN通过智能技术生成

控制台版 - 酒店管理系统分析

欢迎进入指针信息大酒店
业务:
搭建酒店框架 -> 确定酒店有多少层,每层有多少个房间
例如:有5层,每层有5个房间
1.查房(find)  
	1001	1002	1003	1004	1005
    null	null	null	null	null
    2001	2002	2003	2004	2005
    null	null	rose	null	null
    3001	3002	3003	3004	3005
    null	null	null	null	null
    4001	4002	4003	4004	4005
    null	null	null	null	null
    5001	5002	5003	5004	5005
2.办理入住(in) 
  控制台获取信息: 房间名 和 客户名
	例如: 1001 小丽
	还需要判断这个房间里边原本有没有人,没有人才可以入住
3.办理退房(out) 
  控制台获取信息: 房间名
	例如: 1001 小丽
		把 名字改成 null
		如果 原来就是 null 就不需要退房
4.退出程序(exit)
  按0,退出程序 -> 退出死循环 -> break;

根据业务要求 提取对象:
1个酒店,n个房间,n个客户

相关类:

**Guest类:**
			成员变量:
				姓名
				年龄
				id(身份证)

​ 成员方法:

package bigHotel;
/*
    客户类
 */
public class Guest {
    //1.成员变量
    String name;
    int age;
    int id;

    //3.构造方法
    Guest(){

    }
    //有参构造方法
    Guest(String name ,int id){
        this.name=name;
        this.id=id;
    }

    //2.成员方法
}

Room类:
​ 成员变量:
​ 房间号
​ 客户(Guest)

​ 成员方法:

package bigHotel;
/*
    房间类
 */
public class Room {
    //成员变量
    int num;
    Guest guest;

    //构造方法
    Room(){

    }
    //有参构造方法
    Room(int num){
        this.num=num;
    }

    //成员方法

}

Hotel类:
成员变量:
Room(房间)

​ 成员方法:
​ -入住
​ -退房
​ -查房

package bigHotel;
/*
    酒店类
 */
public class Hotel {
    //成员变量
    //Room room;
    Room [][] room = new Room[5][5];//null
    Room guest =new Room();
    //构造方法--初始化成员变量
    Hotel(){

        for (int i = 0; i <room.length; i++) {       //确定层数
            for (int j = 0; j <room[i].length; j++) {   //确定每层的房间号
                int number = (i+1)*1000+1+j;
                room[i][j]= new Room(number);
                //System.out.print(room[i][j].num+"\t");
            }
        }
    }


    //成员方法
    //入住
    void in(int num , String name,int id){
        int row = num/1000-1;//得到层数
        int col = num%10-1;//得到房间号
        if(room[row][col].guest!=null){
            System.out.println("房间以有人");

        }
        else{
            //如果房间没有用户,就可以入住,入住前创建用户
            room[row][col].guest=new Guest(name,id);
            System.out.println(name+"入住"+num);
        }

    }

    //退房
    void out(int num ){
        //找到要退房的房间号
        int row = num/1000-1;//得到层数
        int col = num%10-1;//得到房间号
        if(room[row][col].guest!=null){    //如果房间有人
            room[row][col].guest=null;    //则进行退房
            System.out.println("退房成功");
        }else{
            System.out.println("房间是空的");
        }

    }

    //查房
    void find(){

        for (int i = 0; i <room.length; i++) {       //确定层数
            for (int j = 0; j <room[i].length; j++) {   //确定每层的房间号

                System.out.print(room[i][j].num+"\t");
            }
            System.out.println();

            for (int j = 0; j < room[i].length; j++) {
                if(room[i][j].guest==null){
                     System.out.print("null"+"\t");
                }else{
                     System.out.print(room[i][j].guest.name+"\t");
                }
            }
            System.out.println();
        }

    }

}



主方法类:

package bigHotel;

import java.util.Scanner;

/*
    主方法
 */
public class Main {
    public static void main(String[] args) {
        //创建类的对象
        Hotel hotel = new Hotel();
        Scanner scanner = new Scanner(System.in);
        while(true){
            System.out.println("--------------------------------------");
            System.out.println("----------------系统菜单----------------");
            System.out.println("----------------in 入住----------------");
            System.out.println("----------------out 退房---------------");
            System.out.println("----------------find 查房--------------");
            System.out.println("----------------0  退出系统-------------");
            System.out.println("---------------------------------------");
            System.out.println("请输入要执行的操作");
            String str = scanner.next();
            switch (str){
                case "in":
                    System.out.println("请输入房间号");
                    int num = scanner.nextInt();
                    System.out.println("请输入客户名字");
                    String name = scanner.next();
                    System.out.println("请输入身份证号");
                    int id = scanner.nextInt();
                    hotel.in(num,name,id);
                    break;


                case "out" :
                    System.out.println("请输入房间号");
                    num = scanner.nextInt();
                    hotel.out(num);
                    break;

                case "find":

                    hotel.find();
                    break;

                case "0":
                    System.out.println("退出程序");
                    System.exit(0);

                default:
                    System.out.println("输入错误");
                    break;


            }

        }



    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值