Metodo NextPosizioneLibera; rimozione errori

This commit is contained in:
La Programmatrice Verde 2025-09-25 11:52:42 +02:00
parent 72cce911ed
commit 745acce18e

View File

@ -15,10 +15,21 @@ public class Garage {
private int posizioneLibera = 0; 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];
} }
private int NextPosizioneLibera() {
boolean exit = true;
int i = 0;
for (; i < this.veicoli.length && exit; i++) {
if (this.veicoli[i] == null) {
exit = false;
}
}
return i;
}
public String IngressoAuto() { public String IngressoAuto() {
Scanner sc = new Scanner(System.in); Scanner sc = new Scanner(System.in);
String targa; String targa;
@ -26,7 +37,7 @@ public class Garage {
System.out.println("Inserire la targa dell'auto: "); System.out.println("Inserire la targa dell'auto: ");
targa = sc.nextLine(); targa = sc.nextLine();
veicoli[this.posizioneLibera++] = new Auto(targa); veicoli[this.NextPosizioneLibera()] = new Auto(targa);
return "L'auto è posteggiata nella posizione %d".formatted(posizioneLibera); return "L'auto è posteggiata nella posizione %d".formatted(posizioneLibera);
} }
@ -38,5 +49,6 @@ public class Garage {
public String GetPostiLiberi() { public String GetPostiLiberi() {
return "I posti liberi sono da %d a %d".formatted(--posizioneLibera, veicoli.length); return "I posti liberi sono da %d a %d".formatted(--posizioneLibera, veicoli.length);
} }
UscitaAuto();
public void UscitaAuto(){}
} }