Scrivere una classe Ostello per modellare un ostello. L'ostello ha 50 letti in totale, distribuiti in 10 stanze da 5 letti ciascuna: ogni letto può essere libero o occupato.
Lo stato del letti nelle stanze deve essere modellato con una matrice di booleani (le righe sono le stanze e le colonne i letti). All'inizio tutti i letti sono liberi.
Metodo checkin: La classe dispone di un metodo checkin(int stanza, int letto) come mostrato di seguito, che permette di occupare un derminato letto in una determinata stanza.
public boolean checkin (int stanza, int letto) {
if (stanza >= 0 & stanza < 10 & letto >= 0 & letto <5) {
lettoLibero[stanza][letto] = false;
return true;
}
}
return false;
}
Il metodo controlla che i valori letto e stanza siano corretti e che il letto selezionato sia libero. Il metodo ritorna true se il letto viene occupato, false altrimenti.
Metodo ottimizzaOstelloL'ostello vuole minimizzare il numero di stanza usate. A tal fine la classe deve disporre di un metodo void ottimizzaOstello() che sposti tutti i clienti nelle prime stanza libere (a partire dalla prima stanza e dal primo letto). Per esempio, se c'è un solo cliente per ogni stanza (quindi in totale ci sono 10 clienti), il metodo sposta tutti i clienti nelle prime stanze.