Miglioria inserimento ed estrazione veicolo

This commit is contained in:
La Programmatrice Verde
2025-10-28 13:20:10 +01:00
parent 9f495c908f
commit cda2a97d02
2 changed files with 18 additions and 10 deletions

View File

@@ -11,10 +11,10 @@ import veicoli.VeicoloAMotore;
* @author Verde
*/
public class Garage {
public static final int DIMENSIONE_GARAGE = 15;
public static final int DIMENSIONE_GARAGE = 2;
VeicoloAMotore[] veicoli = new VeicoloAMotore[DIMENSIONE_GARAGE];
public int immettiNuovoVeicolo(VeicoloAMotore v) {
public int immettiNuovoVeicolo(VeicoloAMotore v) throws ArrayIndexOutOfBoundsException {
int ritorno = trovaPosizioneLibera();
veicoli[ritorno] = v;
return ritorno;

View File

@@ -83,10 +83,13 @@ public class MainGarage {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
Date annoImmatricolazioneDate;
String[] data;
String anno;
boolean error;
Date now = new Date();
String scelta;
VeicoloAMotore veicolo = null;
int posizioneOccupata;
System.out.print("Inserisci la marca: ");
marca = sc.nextLine().trim();
@@ -101,8 +104,11 @@ public class MainGarage {
System.out.println("Errore: il veicolo non può esser stato immatricolato nel futuro.");
pausa();
error = true;
} else {
data = annoImmatricolazioneDate.toString().split("\\s");
anno = data[data.length - 1];
annoImmatricolazione = Integer.parseInt(anno);
}
annoImmatricolazione = Integer.parseInt(annoImmatricolazioneDate.toString());
} catch (ParseException _) {
System.out.println("Errore nella lettura della data.");
pausa();
@@ -112,13 +118,13 @@ public class MainGarage {
System.out.print("Inserisci il tipo di alimentazione: ");
tipoAlimentazione = sc.nextLine().trim();
// TODO: controlli sull'alimentazione (niente veicoli alimentati a scoregge)
do {
error = false;
try {
System.out.print("Inserire la cilindrata: ");
cilindrata = sc.nextInt();
sc.nextLine();
if (cilindrata <= 0) {
System.out.println("Errore: la cilindrata deve essere un numero positivo.");
@@ -133,7 +139,6 @@ public class MainGarage {
} while (error);
do {
error = false;
System.out.println("Opzioni possibili:");
System.out.println("Furgone");
System.out.println("Automobile");
@@ -224,8 +229,12 @@ public class MainGarage {
}
} while (error);
garage.immettiNuovoVeicolo(veicolo);
System.out.println("Veicolo inserito con successo.");
try {
posizioneOccupata = garage.immettiNuovoVeicolo(veicolo);
System.out.println("Veicolo inserito con successo alla posizione " + posizioneOccupata + ".");
} catch (ArrayIndexOutOfBoundsException _) {
System.out.println("Errore: non ci sono posti disponibili, riprovare.");
}
}
static void estraiVeicolo() {
@@ -233,14 +242,13 @@ public class MainGarage {
int posizione = 0;
VeicoloAMotore veicoloEstratto = null;
error = false;
do {
error = false;
try {
System.out.print("Inserire la posizione: ");
posizione = sc.nextInt();
if (posizione <= 0 || posizione >= Garage.DIMENSIONE_GARAGE) {
if (posizione < 0 || posizione >= Garage.DIMENSIONE_GARAGE) {
System.out.println("Errore: la posizione non esiste.");
pausa();
error = true;