微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java实列 酒店订房管理系统

======思路======

查看

======实现======
查看

======代码======

import java.util.Scanner;

public class Reception {

public static void main(String[] args) {
    //首先来一条友善的系统名称
    System.out.println("********************东方国际大酒店管理系统*************************"+"\t\n");
    Hotel hotel=new Hotel();//新建酒店类,以便调用酒店类的方法
    Scanner in=new Scanner(system.in);//系统接受前台人员输入指令

    while(true) {
    System.out.println("订房输入 1; 退房输入 2:");
    int input=in.nextInt();//保存前台人员输入指令
    if (input==1) {//判断是否是“订房”
        System.out.println("********************客房信息*************************"+"\t\n");
        hotel.checkRoomInfo();//显示客房最新信息
        System.out.println("\t\n"+"*****************************************************"+"\t\n");
        System.out.println("入住的客房号:");
        int cin=in.nextInt();//保存前台人员输入指令
        hotel.checkIn(cin);//把指令传给酒店类的订房方法去处理
    }
    else if (input==2) {//判断是否是“退房”
        System.out.println("********************客房信息*************************"+"\t\n");
        hotel.checkRoomInfo();//显示客房最新信息
        System.out.println("\t\n"+"*****************************************************"+"\t\n");
        System.out.println("退房的客房号:");
        int con=in.nextInt();//保存前台人员输入指令
        hotel.checkOut(con);//把指令传给酒店类的退房方法去处理
    }else

    System.out.println("********************客房信息*************************"+"\t\n");
    hotel.checkRoomInfo();//显示客房最新信息
    System.out.println("\t\n"+"*****************************************************"+"\t\n");
    }
}

}

public class Room {
//房间编号
private int roomNum;
//房间类型
private String roomType;
//房间状态
private boolean roomStatus;

//房间属性的get,set方法
public int getRoomNun() {
    return roomNum;
}
public void setRoomNun(int roomNun) {
    this.roomNum = roomNun;
}
public String getRoomType() {
    return roomType;
}
public void setRoomType(String roomType) {
    this.roomType = roomType;
}
public boolean isRoomStatus() {
    return roomStatus;
}
public void setRoomStatus(boolean roomStatus) {
    this.roomStatus = roomStatus;
}

//构造方法
public Room(int roomNun,String roomType,boolean roomStatus) {
    super();
    this.roomNum = roomNun;
    this.roomType = roomType;
    this.roomStatus = roomStatus;
}
//重写toString方法
@Override
public String toString() {
    return "【" + roomNum + ":" + roomType + ":" + (roomStatus?"客满":"空房" )+ "】 ";
}

}

public class Hotel {
//声明一个数组来记录酒店的楼层和客房
Room[][] room;
//酒店类构造方法
public Hotel() {
//二维数组定义酒店6层楼,每层楼8间客房
room =new Room[6][8];
//嵌套循环把各个房间的属性初始化
for(int i=0;i<room.length;i++) {//楼层
for(int j=0;j<room[i].length;j++) {//客房
//1,2层标准房,客房编号101,102....201,202....601,602.....608
if(i==0||i==1) {
room[i][j]=new Room((i+1)100+j+1,"标准房",false);
}
//3,4层贵宾房
else if(i==2||i==3) {
room[i][j]=new Room((i+1)
100+j+1,"贵宾房",false);
}
//5,6层总统房
else if(i==4||i==5) {
room[i][j]=new Room((i+1)*100+j+1,"总统房",false);
}
}
}
}
//查看客房信息
public void checkRoomInfo() {
for(int i=0;i<room.length;i++) {//楼层
for(int j=0;j<room[i].length;j++) {//客房
System.out.print(room[i][j]);//同一层客房不换行显示
}
System.out.println();//不同楼层的客房信息换行显示
}
}
//客人订房
public void checkIn(int roomNum) {
for(int i=0;i<room.length;i++) {
for(int j=0;j<room[i].length;j++) {
if(room[i][j].getRoomNun()==roomNum) {
room[i][j].setRoomStatus(true);//如果客人订房,就把相应人房间的状态设置为客满。
}
}
}
}
//客人退房
public void checkOut(int roomNum) {
for(int i=0;i<room.length;i++) {
for(int j=0;j<room[i].length;j++) {
if(room[i][j].getRoomNun()==roomNum) {
room[i][j].setRoomStatus(false);//如果客人退房,就把相应人房间的状态设置为空房。
}
}
}
}
}

博主个人网站:www.davis-wiki.com

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐