Aggiunto GetPostiOccupati
This commit is contained in:
parent
13922530b7
commit
844f6d9edc
@ -45,10 +45,11 @@ public class Garage {
|
||||
|
||||
public String IngressoAuto() {
|
||||
String ritorno;
|
||||
int posizione = this.NextPosizioneLibera();
|
||||
|
||||
try {
|
||||
veicoli[this.NextPosizioneLibera()] = new Auto();
|
||||
ritorno = "L'auto è posteggiata nella posizione %d".formatted(posizioneLibera++);
|
||||
veicoli[posizione] = new Auto();
|
||||
ritorno = "L'auto è posteggiata nella posizione %d".formatted(posizione);
|
||||
} catch (ArrayIndexOutOfBoundsException e) {
|
||||
ritorno = "Errore: il garage è pieno.";
|
||||
} catch (Exception e) {
|
||||
@ -58,8 +59,46 @@ public class Garage {
|
||||
return ritorno;
|
||||
}
|
||||
|
||||
private int[] TrovaPosti(boolean p_selettore) {
|
||||
/*
|
||||
* p_selettore = true -> trova posti occupati
|
||||
* p_selettore = false -> trova posti liberi
|
||||
*/
|
||||
int ritorno[] = new int[this.veicoli.length];
|
||||
for (int i = 0; i < this.veicoli.length; i++) {
|
||||
if (p_selettore) {
|
||||
ritorno[i] = this.veicoli[i] != null ? i : -1;
|
||||
} else {
|
||||
ritorno[i] = this.veicoli[i] == null ? i : -1;
|
||||
}
|
||||
}
|
||||
|
||||
return ritorno;
|
||||
}
|
||||
|
||||
public String GetPostiOccupati() {
|
||||
return "I posti occupati sono da 0 a %d".formatted(--posizioneLibera);
|
||||
String ritorno;
|
||||
boolean vuoto = true;
|
||||
int posti[] = TrovaPosti(true);
|
||||
|
||||
for (int i = 0; i < posti.length && vuoto; i++) {
|
||||
if (posti[i] != -1) {
|
||||
vuoto = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (vuoto) {
|
||||
ritorno = "Non c'è nessun posto occupato.";
|
||||
}
|
||||
else {
|
||||
ritorno = "I posti occupati sono:\n";
|
||||
for (int posizione : posti) {
|
||||
if (posizione != -1) {
|
||||
ritorno += posizione + "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
return ritorno;
|
||||
}
|
||||
|
||||
public String GetPostiLiberi() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user