Aggiunto GetPostiOccupati
This commit is contained in:
parent
13922530b7
commit
844f6d9edc
@ -45,10 +45,11 @@ public class Garage {
|
|||||||
|
|
||||||
public String IngressoAuto() {
|
public String IngressoAuto() {
|
||||||
String ritorno;
|
String ritorno;
|
||||||
|
int posizione = this.NextPosizioneLibera();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
veicoli[this.NextPosizioneLibera()] = new Auto();
|
veicoli[posizione] = new Auto();
|
||||||
ritorno = "L'auto è posteggiata nella posizione %d".formatted(posizioneLibera++);
|
ritorno = "L'auto è posteggiata nella posizione %d".formatted(posizione);
|
||||||
} catch (ArrayIndexOutOfBoundsException e) {
|
} catch (ArrayIndexOutOfBoundsException e) {
|
||||||
ritorno = "Errore: il garage è pieno.";
|
ritorno = "Errore: il garage è pieno.";
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -58,8 +59,46 @@ public class Garage {
|
|||||||
return ritorno;
|
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() {
|
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() {
|
public String GetPostiLiberi() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user