酒店管理系统java实现

现在提供如下需求,请编写一个酒店管理系统,该系统可以实现查看房间的信息,可以对房间进行预订和退订操作。
设计思路:
酒店管理系统;
1.创建酒店管理系统
2.创建room对象,此对象中含有房间属性,eg 房间编号,房间的状态,房间的类型
3.创建一个酒店,此酒店的房间数自己定,在酒店类中创建生成房间方法,生成房间,
创建打印各个房间信息的方法,实现房间的预订和取消功能
4.对酒店管理系统的优化。
我们分为三个类来进行实现:第一个类为房间类,在该类中主要定义房间的属性,get、set方法和构造参数,以及toString方法和equals方法,第二个类为酒店类,在该类中创建房间,我们可以用一个二维数组来进行实现,在此类中也要完成打印房间信息,退订房间和预订房间的功能,第三个类为酒店的管理系统,供酒店前台工作人员使用,尽量设计的简单方便。
房间类源码:
import java.util.Objects;
//每个房间的属性
public class Room {
private int no;
private int status;
private String type;

public Room(int no, int status, String type) {

    this.no = no;
    this.status = status;
    this.type = type;
}

public Room() {
}

public int getNo() {
    return no;
}

public void setNo(int no) {
    this.no = no;
}

public int getStatus() {
    return status;
}

public void setStatus(int status) {
    this.status = status;
}

public String getType() {
    return type;
}

public void setType(String type) {
    this.type = type;
}

@Override
public String toString() {
    return "ROOM信息{"+no+","+type+","+(status==1?"空闲":"已满")+"}";
}

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    Room room = (Room) o;
    return no == room.no && status == room.status && Objects.equals(type, room.type);
}

@Override
public int hashCode() {
    return Objects.hash(no, status, type);
}

}

酒店类源码:
public class Hotel {
private Room [][]rooms=new Room[5][10];//创建一个二维数组,存放房间信息

/* public static void main(String[] args) {
Hotel h=new Hotel();
h.makeRooms();
h.printrooninfo();
}*/
public void makeRooms()//生成房间
{
int i=0;
for (i=0;i< rooms.length;i++)
{
int j=0;
for (j=0;j<rooms[i].length;j++)
{
if(i0)
{
rooms[i][j]=new Room((i+1)*100+j+1,1,“标准间”);
}
else if(i
1)
{
rooms[i][j]=new Room((i+1)*100+j+1,1,“情侣套间”);
}
else if(i2)
{
rooms[i][j]=new Room((i+1)*100+j+1,1,“电竞房”);
}
else if(i
3)
{
rooms[i][j]=new Room((i+1)*100+j+1,1,“胶囊仓”);
}
else if(i==4)
{
rooms[i][j]=new Room((i+1)*100+j+1,1,“总统套房”);
}
}
}

}
public void printrooninfo()//打印酒店房间信息
{
    for (int i=0;i< rooms.length;i++)
    {
        for (int j=0;j<rooms[i].length;j++)
        {
            System.out.print(rooms[i][j]);
        }
        System.out.println();
    }
}
public void reserve(int roomno)//房间预订
{
    if( (rooms[roomno/100-1][roomno%100-1].getStatus())==0)
    {
        System.out.println("预定失败,该房间已被其他吊毛预订!");
    }
    else {
        rooms[roomno/100-1][roomno%100-1].setStatus(0);
        System.out.println("预订"+roomno+"成功!");
    }


}
public void unsub(int roomno)//房间退订
{
    if( (rooms[roomno/100-1][roomno%100-1].getStatus())==1)
    {
        System.out.println("该房间已为空,请勿重复退订");
    }
    else {
        rooms[roomno/100-1][roomno%100-1].setStatus(1);
        System.out.println("退订"+roomno+"成功!");

    }

}

}

酒店前台管理系统源码:
import java.util.Scanner;
//酒店管理系统

public class HotelSystem {
public static void main(String[] args) {
Hotel h=new Hotel();
h.makeRooms();
System.out.println(“欢迎使用汉庭酒店管理系统!”);
System.out.println(“查看房间信息请按1”);
System.out.println(“预订房间请按2”);
System.out.println(“退订房间请按3”);
System.out.println(“退出系统请按0”);
while (true)
{
Scanner s=new Scanner(System.in);
int i=s.nextInt();
if(i1)
{
h.printrooninfo();
}
else if(i
2)
{
System.out.println(“请输入预订房间编号”);
Scanner r=new Scanner(System.in);
h.reserve(r.nextInt());
}
else if(i3)
{
System.out.println(“请输入退订房间编号”);
Scanner r=new Scanner(System.in);
h.unsub(r.nextInt());
}
else if(i
0)
{
return;
}

    }

}

}

测试:
在这里插入图片描述酒店管理系统到此结束,希望可以供大家学习进步!

猜你喜欢

转载自blog.csdn.net/Kirihara_Yukiho/article/details/124152262