======思路======
======实现======
======代码======
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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。