Utilizando el pensamiento orientado a objetos para implementar un sistema de gestión hotelera, los requisitos específicos son los siguientes: java
paquete?jcon.com.help;
/** *?Clase de cliente*?@autor?Jcon * */
¿clase pública?Cliente ?{
privado?Cadena?nombre;
privado?Cadena?fecha;
privado?int?días;
público? Cliente(¿Cadena?nombre,?Cadena?fecha,?int?días)?{
super();
this.name?=?nombre;
this.date?=?date;
this.days?=?days;
}
@Override
¿público? String?toString()?{
return?"Cliente?[nombre="? ?nombre?", ?fecha="? fecha?", ?días="? p>
?"]";
}
}paquete?jcon.com.help;
/** *?Clase de habitación*? @autor?Jcon * */
¿clase?pública?¿Habitación?{
privada?int?número;
privada?Cliente?cliente;
private?boolean?isUse?=?false; //La sala está vacía al principio
public?int?getNumber()?{
return?number;
p>
}
public?void?setNumber(int?number)?{
this.number?=?number;
} p>
¿público?Cliente?getCliente()?{
devolución?cliente;
}
¿público?nulo? setCliente(Cliente?cliente)?{
this.cliente?=?cliente;
}
public?boolean?getIsUse()?{
return? isUse;
}
public?void?setIsUse(boolean?isUse)?{
this.isUse?=?isUse;
}
}paquete?jcon.com.help;
importar?java.util.HashMap;
importar?java. util.Map;
p>
/** *?Clase de hotel*?@autor?Jcon * */
¿clase pública?Hote?{
privado?int?cengShu; // Piso
pri
vate?int?roomNumber; //Número de habitaciones por piso
public?static?Maplt; Roomgt; ?rooms?=?new?HashMaplt; Número de habitación, información de valor de la habitación
public?Hote(int?cengShu, int?roomNumber)?{
this.cengShu?=?cengShu;
this .roomNumber?=?roomNumber;
init();
}
private?void?init(){//Inicializar, poner la información de cada habitación Cargar en el mapa
for?(int?i?=?1;?i?lt;=?this.cengShu;?i )?{
for?(int? j? =?1;?j?lt;=?this.roomNumber;?j )?{
String?roomNumber?=?i "" j;
si?( j? lt;10)?{
roomNumber?=?i "0" j;
}
rooms.put(Integer.valueOf(roomNumber) ,? new?Room());
}
}
}
}paquete?jcon.com.help;< /p >
/** *?Clase de gestión hotelera*?@autor?Jcon * */
¿clase pública?Manager?{
privado?Hote?hote? new?Hote(1,?15);
//Buscar por número de habitación
public?void?findRoomByNumber(int?roomNumber){
¿Habitación? room?=?hote.rooms.get(roomNumber);
if?(room?==?null)?{
System.out.println("Quieres que la habitación El número que está buscando no existe, confirme si el número de habitación que ingresó es correcto ");
}¿de lo contrario?{
si?(room.getIsUse()) {
System.out.println("Habitación:" roomNumber "Ya ocupada, información del huésped:" room.getCustomer());
}¿más?{
System .out.println("Habitación" roomNumber "Nadie se ha registrado todavía");
}
}
}
// Buscar todas las habitaciones vacías
public?void?findNullRoom(){
for?(Integer?key?:?hote.rooms.keySet())?{
¿Habitación?habitación?=?hote.rooms.get(key);
if?(room.getIsUse()?==?false)?{
p>
System.out.println(tecla "Número de habitación vacía:");
}
}
}
//Registro
public?void?in(int?roomNumber, Customer?customer){
Room?room?=?hote.rooms.get(roomNumber);
p>room.setCustomer(cliente);
room.setIsUse(true);
room.setNumber(roomNumber); > hotel.rooms .put(roomNumber,?room);
System.out.println("Habitación:" roomNumber "check-in, información del residente:" cliente);
}
//Echa un vistazo
public?void?out(int?roomNumber){
Habitación?room?=?hote.rooms.get(roomNumber );
p>room.setCustomer(null);
room.setIsUse(false);
hotel.rooms.put(roomNumber,?room)
System.out.println("Habitación:" número de habitación "Retirar");
}
public?static?void?main(String[); ]?args)? {
Manager?manager?=?new?Manager();
//Cuando los huéspedes vengan a reservar una habitación, primero verifique si hay habitaciones disponibles.
manager.findNullRoom ();
//Al ver que aún quedan muchas casas vacías, el cliente quiere reservar la habitación 115
¿Cliente?cliente?= ?new?Customer("小白",?" Registro el 25 de marzo",?3); //Registrar información del huésped
manager.in(115,?customer);//Abrir un room
//Ver la habitación actual después de abrir la información de una habitación
manager.findRoomByNumber(115);?//Para la habitación 115
manager.findNullRoom( );?//Para todas las habitaciones vacías
/ /Los huéspedes que se hayan alojado durante 3 días deben realizar el check-out
manager.out(115);
//Ver información actual de la habitación después del check-out
manager.findRoomByNumber( 115);?//Para la habitación 115
manager.findNullRoom();?//Para todas las habitaciones vacías
}
}