Rimuovi metodo bislungo

This commit is contained in:
La Programmatrice Verde 2025-10-30 11:44:06 +01:00
parent 262f581394
commit 9cad5b1af9

View File

@ -81,10 +81,7 @@ public class MainGarage {
String tipologia; String tipologia;
int numTempiMotore = 0; int numTempiMotore = 0;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); boolean error = false;
Date annoImmatricolazioneDate;
boolean error;
Date now = new Date();
String scelta; String scelta;
VeicoloAMotore veicolo = null; VeicoloAMotore veicolo = null;
int posizioneOccupata; int posizioneOccupata;
@ -92,47 +89,12 @@ public class MainGarage {
System.out.print("Inserisci la marca: "); System.out.print("Inserisci la marca: ");
marca = sc.nextLine().trim(); marca = sc.nextLine().trim();
do { annoImmatricolazione = annoImmatricolazione();
error = false;
try {
System.out.print("Inserisci l'anno di immatricolazione: ");
annoImmatricolazioneDate = sdf.parse(sc.nextLine());
if (annoImmatricolazioneDate.after(now)) {
System.out.println("Errore: il veicolo non può esser stato immatricolato nel futuro.");
pausa();
error = true;
} else {
annoImmatricolazione = Integer.parseInt(sdf.format(annoImmatricolazioneDate));
}
} catch (ParseException _) {
System.out.println("Errore nella lettura della data.");
pausa();
error = true;
}
} while (error);
System.out.print("Inserisci il tipo di alimentazione: "); System.out.print("Inserisci il tipo di alimentazione: ");
tipoAlimentazione = sc.nextLine().trim(); tipoAlimentazione = sc.nextLine().trim();
do { cilindrata = cilindrata();
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.");
pausa();
error = true;
}
} catch (InputMismatchException _) {
System.out.println("Errore nella lettura della cilindrata.");
pausa();
error = true;
}
} while (error);
do { do {
System.out.println("Opzioni possibili:"); System.out.println("Opzioni possibili:");
@ -144,76 +106,18 @@ public class MainGarage {
switch (scelta) { switch (scelta) {
case "furgone": case "furgone":
do { capacitaCarico = capacitaCarico();
error = false;
try {
System.out.print("Inserire la capacità di carico: ");
capacitaCarico = sc.nextInt();
if (capacitaCarico <= 0) {
System.out.println("Errore: la capacità di carico deve essere un numero positivo.");
pausa();
error = true;
}
} catch (InputMismatchException _) {
System.out.println("Errore nella lettura della capacità di carico.");
pausa();
error = true;
}
} while (error);
veicolo = new Furgone(annoImmatricolazione, marca, tipoAlimentazione, cilindrata, capacitaCarico); veicolo = new Furgone(annoImmatricolazione, marca, tipoAlimentazione, cilindrata, capacitaCarico);
break; break;
case "automobile": case "automobile":
do { numPorte = numPorte();
error = false;
try {
System.out.print("Inserire il numero di porte: ");
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.");
pausa();
error = true;
}
} catch (InputMismatchException _) {
System.out.println("Errore nella lettura del numero di porte.");
pausa();
error = true;
}
} while (error);
veicolo = new Automobile(annoImmatricolazione, marca, tipoAlimentazione, cilindrata, numPorte); veicolo = new Automobile(annoImmatricolazione, marca, tipoAlimentazione, cilindrata, numPorte);
break; break;
case "motocicletta": case "motocicletta":
System.out.print("Inserire la tipologia della motocicletta: "); System.out.print("Inserire la tipologia della motocicletta: ");
tipologia = sc.nextLine(); tipologia = sc.nextLine();
do { numTempiMotore = numTempiMotore();
error = false;
try {
System.out.println("Opzioni possibli");
System.out.println("2");
System.out.println("4");
System.out.print("Inserisci il numero di tempi del motore: ");
numTempiMotore = sc.nextInt();
switch (numTempiMotore) {
case 2, 4:
break;
default:
System.out.println("Errore: opzione non valida.");
pausa();
error = true;
break;
}
} catch (InputMismatchException _) {
System.out.println("Errore nella lettura del numero di tempi del motore.");
pausa();
error = true;
}
} while (error);
veicolo = new Motocicletta(annoImmatricolazione, marca, tipoAlimentazione, cilindrata, tipologia, veicolo = new Motocicletta(annoImmatricolazione, marca, tipoAlimentazione, cilindrata, tipologia,
numTempiMotore); numTempiMotore);
break; break;
@ -233,6 +137,144 @@ public class MainGarage {
} }
} }
static int annoImmatricolazione() {
boolean error;
Date annoImmatricolazioneDate;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
Date now = new Date();
int ritorno = 0;
do {
error = false;
try {
System.out.print("Inserisci l'anno di immatricolazione: ");
annoImmatricolazioneDate = sdf.parse(sc.nextLine());
if (annoImmatricolazioneDate.after(now)) {
System.out.println("Errore: il veicolo non può esser stato immatricolato nel futuro.");
pausa();
error = true;
} else {
ritorno = Integer.parseInt(sdf.format(annoImmatricolazioneDate));
}
} catch (ParseException _) {
System.out.println("Errore nella lettura della data.");
pausa();
error = true;
}
} while (error);
return ritorno;
}
static int cilindrata() {
boolean error;
int ritorno = 0;
do {
error = false;
try {
System.out.print("Inserire la cilindrata: ");
ritorno = sc.nextInt();
sc.nextLine();
if (ritorno <= 0) {
System.out.println("Errore: la cilindrata deve essere un numero positivo.");
pausa();
error = true;
}
} catch (InputMismatchException _) {
System.out.println("Errore nella lettura della cilindrata.");
pausa();
error = true;
}
} while (error);
return ritorno;
}
static int capacitaCarico() {
boolean error;
int ritorno = 0;
do {
error = false;
try {
System.out.print("Inserire la capacità di carico: ");
ritorno = sc.nextInt();
if (ritorno <= 0) {
System.out.println("Errore: la capacità di carico deve essere un numero positivo.");
pausa();
error = true;
}
} catch (InputMismatchException _) {
System.out.println("Errore nella lettura della capacità di carico.");
pausa();
error = true;
}
} while (error);
return ritorno;
}
static int numPorte() {
boolean error;
int ritorno = 0;
do {
error = false;
try {
System.out.print("Inserire il numero di porte: ");
ritorno = sc.nextInt();
if (ritorno <= 2) {
System.out.println(
"Errore: il numero di porte deve essere un numero positivo e non può essere inferiore a 2.");
pausa();
error = true;
}
} catch (InputMismatchException _) {
System.out.println("Errore nella lettura del numero di porte.");
pausa();
error = true;
}
} while (error);
return ritorno;
}
static int numTempiMotore() {
boolean error;
int ritorno = 0;
do {
error = false;
try {
System.out.println("Opzioni possibili");
System.out.println("2");
System.out.println("4");
System.out.print("Inserisci il numero di tempi del motore: ");
ritorno = sc.nextInt();
switch (ritorno) {
case 2, 4:
break;
default:
System.out.println("Errore: opzione non valida.");
pausa();
error = true;
break;
}
} catch (InputMismatchException _) {
System.out.println("Errore nella lettura del numero di tempi del motore.");
pausa();
error = true;
}
} while (error);
return ritorno;
}
static void estraiVeicolo() { static void estraiVeicolo() {
boolean error; boolean error;
int posizione = 0; int posizione = 0;