當前位置:旅游攻略大全網 - 酒店预订 - 用面向對象思想實現壹個酒店管理系統,具體要求如下:java

用面向對象思想實現壹個酒店管理系統,具體要求如下:java

package?jcon.com.help;

/**

*?顧客類

*?@author?Jcon

*

*/

public?class?Customer?{

private?String?name;

private?String?date;

private?int?days;

public?Customer(String?name,?String?date,?int?days)?{

super();

this.name?=?name;

this.date?=?date;

this.days?=?days;

}

@Override

public?String?toString()?{

return?"Customer?[name="?+?name?+?",?date="?+?date?+?",?days="?+?days

+?"]";

}

}package?jcon.com.help;

/**

*?房間類

*?@author?Jcon

*

*/

public?class?Room?{

private?int?number;

private?Customer?customer;

private?boolean?isUse?=?false;//開始房間是空的

public?int?getNumber()?{

return?number;

}

public?void?setNumber(int?number)?{

this.number?=?number;

}

public?Customer?getCustomer()?{

return?customer;

}

public?void?setCustomer(Customer?customer)?{

this.customer?=?customer;

}

public?boolean?getIsUse()?{

return?isUse;

}

public?void?setIsUse(boolean?isUse)?{

this.isUse?=?isUse;

}

}package?jcon.com.help;

import?java.util.HashMap;

import?java.util.Map;

/**

*?酒店類

*?@author?Jcon

*

*/

public?class?Hote?{

private?int?cengShu; //層樓

private?int?roomNumber; //每層樓房間數

public?static?Map<Integer,Room>?rooms?=?new?HashMap<Integer,?Room>(); //key房間號,value房間信息

public?Hote(int?cengShu,int?roomNumber)?{

this.cengShu?=?cengShu;

this.roomNumber?=?roomNumber;

init();

}

private?void?init(){//初始化,把每個房間信息裝入到Map

for?(int?i?=?1;?i?<=?this.cengShu;?i++)?{

for?(int?j?=?1;?j?<=?this.roomNumber;?j++)?{

String?roomNumber?=?i+""+j;

if?(j?<10)?{

roomNumber?=?i+"0"+j;

}

rooms.put(Integer.valueOf(roomNumber),?new?Room());

}

}

}

}package?jcon.com.help;

/**

*?酒店管理類

*?@author?Jcon

*

*/

public?class?Manager?{

private?Hote?hote?=?new?Hote(1,?15);

//通過房間號查找

public?void?findRoomByNumber(int?roomNumber){

Room?room?=?hote.rooms.get(roomNumber);

if?(room?==?null)?{

System.out.println("妳要查找的房間號不存在,請確認輸入房間號是否正確!");

}else?{

if?(room.getIsUse()){

System.out.println("房間:"+roomNumber+"已有人入住,入住人信息:"+room.getCustomer());

}else?{

System.out.println("房間"+roomNumber+"還未有人入住");

}

}

}

//查找所有空房間

public?void?findNullRoom(){

for?(Integer?key?:?hote.rooms.keySet())?{

Room?room?=?hote.rooms.get(key);

if?(room.getIsUse()?==?false)?{

System.out.println("空房間號:"+key);

}

}

}

//入住

public?void?in(int?roomNumber,Customer?customer){

Room?room?=?hote.rooms.get(roomNumber);

room.setCustomer(customer);

room.setIsUse(true);

room.setNumber(roomNumber);

hote.rooms.put(roomNumber,?room);

System.out.println("房間:"+roomNumber+"辦理入住,住房人信息:"+customer);

}

//退房

public?void?out(int?roomNumber){

Room?room?=?hote.rooms.get(roomNumber);

room.setCustomer(null);

room.setIsUse(false);

hote.rooms.put(roomNumber,?room);

System.out.println("房間:"+roomNumber+"辦理退房");

}

public?static?void?main(String[]?args)?{

Manager?manager?=?new?Manager();

//客人來開房,先看看有沒有空房間

manager.findNullRoom();

//看到還有很多空房子,客人要開115號房

Customer?customer?=?new?Customer("小白",?"03月25日入住",?3);//登記客人信息

manager.in(115,?customer);//開房

//查看開房後當前房間信息

manager.findRoomByNumber(115);?//115號房的

manager.findNullRoom();?//所有空房間的

//住了3天客人要退房

manager.out(115);

//查看退房後當前房間信息

manager.findRoomByNumber(115);?//115號房的

manager.findNullRoom();?//所有空房間的

}

}