Fusione GetPostiLiberi/Occupati in GetPosti

This commit is contained in:
La Programmatrice Verde 2025-09-25 22:44:22 +02:00
parent 069a4f03b4
commit 6a2f6300d0

View File

@ -13,8 +13,6 @@ import java.util.Scanner;
public class Garage { public class Garage {
Auto[] veicoli; Auto[] veicoli;
private int posizioneLibera = 0;
public Garage(int p_dimensione) { public Garage(int p_dimensione) {
this.veicoli = new Auto[p_dimensione]; this.veicoli = new Auto[p_dimensione];
} }
@ -26,12 +24,6 @@ public class Garage {
return i; return i;
} }
private int NextPosizioneLibera(int p_i) {
for (; p_i < this.veicoli.length && this.veicoli[p_i] != null; ++p_i)
;
return p_i;
}
private int TrovaTarga(String p_targa) { private int TrovaTarga(String p_targa) {
boolean exit = false; boolean exit = false;
int i = 0; int i = 0;
@ -76,10 +68,15 @@ public class Garage {
return ritorno; return ritorno;
} }
public String GetPostiOccupati() { private String GetPosti(boolean p_selettore) {
/*
* p_selettore = true -> posti occupati
* p_selettore = false -> posti liberi
*/
String ritorno; String ritorno;
boolean vuoto = true; boolean vuoto = true;
int posti[] = TrovaPosti(true); int posti[] = TrovaPosti(p_selettore);
for (int i = 0; i < posti.length && vuoto; i++) { for (int i = 0; i < posti.length && vuoto; i++) {
if (posti[i] != -1) { if (posti[i] != -1) {
@ -88,9 +85,9 @@ public class Garage {
} }
if (vuoto) { if (vuoto) {
ritorno = "Non c'è nessun posto occupato."; ritorno = "Non c'è nessun posto " + (p_selettore ? "occupato" : "libero") + ".";
} else { } else {
ritorno = "I posti occupati sono:\n"; ritorno = "I posti " + (p_selettore ? "occupati" : "liberi") + " sono:\n";
for (int posizione : posti) { for (int posizione : posti) {
if (posizione != -1) { if (posizione != -1) {
ritorno += posizione + "\n"; ritorno += posizione + "\n";
@ -100,28 +97,12 @@ public class Garage {
return ritorno; return ritorno;
} }
public String GetPostiOccupati() {
return GetPosti(true);
}
public String GetPostiLiberi() { public String GetPostiLiberi() {
String ritorno; return GetPosti(false);
boolean vuoto = true;
int posti[] = TrovaPosti(false);
for (int i = 0; i < posti.length && vuoto; i++) {
if (posti[i] != -1) {
vuoto = false;
}
}
if (vuoto) {
ritorno = "Non c'è nessun posto libero.";
} else {
ritorno = "I posti liberi sono:\n";
for (int posizione : posti) {
if (posizione != -1) {
ritorno += posizione + "\n";
}
}
}
return ritorno;
} }
public String UscitaAuto() { public String UscitaAuto() {
@ -150,7 +131,6 @@ public class Garage {
ritorno = "Errore: targa non trovata. Riprovare."; ritorno = "Errore: targa non trovata. Riprovare.";
} }
} }
return ritorno; return ritorno;
} }
} }