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

View File

@ -47,7 +47,7 @@ public class MainGarage {
pausa(); pausa();
break; break;
case 2: case 2:
estraiVeicolo();
pausa(); pausa();
break; break;
case 3: case 3:
@ -170,7 +170,8 @@ public class MainGarage {
numPorte = sc.nextInt(); numPorte = sc.nextInt();
if (numPorte <= 2) { 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(); pausa();
error = true; error = true;
} }
@ -212,7 +213,8 @@ public class MainGarage {
} }
} while (error); } while (error);
veicolo = new Motocicletta(annoImmatricolazione, marca, tipoAlimentazione, cilindrata, tipologia, numTempiMotore); veicolo = new Motocicletta(annoImmatricolazione, marca, tipoAlimentazione, cilindrata, tipologia,
numTempiMotore);
break; break;
default: default:
System.out.println("Opzione non valida."); System.out.println("Opzione non valida.");
@ -225,4 +227,40 @@ public class MainGarage {
garage.immettiNuovoVeicolo(veicolo); garage.immettiNuovoVeicolo(veicolo);
System.out.println("Veicolo inserito con successo."); 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);
}
} }