/**
*?顧客類 *?@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();?//所有空房間的
}
}