estraiVeicolo

This commit is contained in:
La Programmatrice Verde 2025-10-28 10:04:02 +01:00
parent 9ada0e43bf
commit 503ecc0bef
2 changed files with 47 additions and 7 deletions

View File

@ -11,7 +11,7 @@ import veicoli.VeicoloAMotore;
* @author Verde
*/
public class Garage {
protected static final int DIMENSIONE_GARAGE = 15;
public static final int DIMENSIONE_GARAGE = 15;
VeicoloAMotore[] veicoli = new VeicoloAMotore[DIMENSIONE_GARAGE];
public int immettiNuovoVeicolo(VeicoloAMotore v) {
@ -21,7 +21,9 @@ public class Garage {
}
public VeicoloAMotore estraiVeicolo(int posto) {
VeicoloAMotore ritorno = this.veicoli[posto];
this.veicoli[posto] = null;
return ritorno;
}
public void stampaSituazionePosti() {

View File

@ -47,7 +47,7 @@ public class MainGarage {
pausa();
break;
case 2:
estraiVeicolo();
pausa();
break;
case 3:
@ -170,7 +170,8 @@ public class MainGarage {
numPorte = sc.nextInt();
if (numPorte <= 2) {
System.out.println("Errore: il numero di porte deve essere un numero positivo e non può essere inferiore a 2.");
System.out.println(
"Errore: il numero di porte deve essere un numero positivo e non può essere inferiore a 2.");
pausa();
error = true;
}
@ -197,7 +198,7 @@ public class MainGarage {
numTempiMotore = sc.nextInt();
switch (numTempiMotore) {
case 2,4:
case 2, 4:
break;
default:
System.out.println("Errore: opzione non valida.");
@ -212,7 +213,8 @@ public class MainGarage {
}
} while (error);
veicolo = new Motocicletta(annoImmatricolazione, marca, tipoAlimentazione, cilindrata, tipologia, numTempiMotore);
veicolo = new Motocicletta(annoImmatricolazione, marca, tipoAlimentazione, cilindrata, tipologia,
numTempiMotore);
break;
default:
System.out.println("Opzione non valida.");
@ -225,4 +227,40 @@ public class MainGarage {
garage.immettiNuovoVeicolo(veicolo);
System.out.println("Veicolo inserito con successo.");
}
static void estraiVeicolo() {
boolean error;
int posizione = 0;
VeicoloAMotore veicoloEstratto = null;
do {
error = false;
do {
try {
System.out.print("Inserire la posizione: ");
posizione = sc.nextInt();
if (posizione <= 0 || posizione >= Garage.DIMENSIONE_GARAGE) {
System.out.println("Errore: la posizione non esiste.");
pausa();
error = true;
}
} catch (InputMismatchException _) {
System.out.println("Errore nella lettura della posizione.");
pausa();
error = true;
}
} while (error);
veicoloEstratto = garage.estraiVeicolo(posizione);
if (veicoloEstratto != null) {
System.out.println(veicoloEstratto.toString());
} else {
System.out.println("Errore: la posizione indicata è vuota.");
pausa();
error = true;
}
} while (error);
}
}