Miglioria inserimento ed estrazione veicolo
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user