immettiNuovoVeicolo
This commit is contained in:
parent
27c488a851
commit
969a16cb8d
@ -4,18 +4,28 @@
|
||||
*/
|
||||
package garage;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.InputMismatchException;
|
||||
import java.util.Scanner;
|
||||
|
||||
import veicoli.Automobile;
|
||||
import veicoli.Furgone;
|
||||
import veicoli.Motocicletta;
|
||||
import veicoli.VeicoloAMotore;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Verde
|
||||
*/
|
||||
public class MainGarage {
|
||||
|
||||
|
||||
static Scanner sc = new Scanner(System.in);
|
||||
static Garage garage = new Garage();
|
||||
|
||||
public static void main() {
|
||||
int scelta = -1;
|
||||
int scelta = -1;
|
||||
|
||||
do {
|
||||
System.out.println("Scegliere un'opzione:");
|
||||
@ -33,7 +43,7 @@ public class MainGarage {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
|
||||
immettiNuovoVeicolo();
|
||||
pausa();
|
||||
break;
|
||||
case 2:
|
||||
@ -49,8 +59,7 @@ public class MainGarage {
|
||||
pausa();
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (InputMismatchException _) {
|
||||
} catch (InputMismatchException _) {
|
||||
System.out.println("Errore: scelta non valida.");
|
||||
pausa();
|
||||
}
|
||||
@ -61,4 +70,159 @@ public class MainGarage {
|
||||
System.out.println("Premere un tasto per continuare. . .");
|
||||
sc.nextLine();
|
||||
}
|
||||
|
||||
static void immettiNuovoVeicolo() {
|
||||
int annoImmatricolazione;
|
||||
String marca;
|
||||
String tipoAlimentazione;
|
||||
int cilindrata;
|
||||
int capacitaCarico;
|
||||
int numPorte;
|
||||
String tipologia;
|
||||
int numTempiMotore;
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
||||
Date annoImmatricolazioneDate;
|
||||
boolean error;
|
||||
Date now = new Date();
|
||||
String scelta;
|
||||
VeicoloAMotore veicolo = null;
|
||||
|
||||
System.out.print("Inserisci la marca: ");
|
||||
marca = sc.nextLine().trim();
|
||||
|
||||
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;
|
||||
}
|
||||
annoImmatricolazione = Integer.parseInt(annoImmatricolazioneDate.toString());
|
||||
} catch (ParseException _) {
|
||||
System.out.println("Errore nella lettura della data.");
|
||||
pausa();
|
||||
error = true;
|
||||
}
|
||||
} while (error);
|
||||
|
||||
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();
|
||||
|
||||
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 {
|
||||
error = false;
|
||||
System.out.println("Opzioni possibili:");
|
||||
System.out.println("Furgone");
|
||||
System.out.println("Automobile");
|
||||
System.out.println("Motocicletta");
|
||||
System.out.print("Inserire la tipologia di veicolo: ");
|
||||
scelta = sc.nextLine().trim().toLowerCase();
|
||||
|
||||
switch (scelta) {
|
||||
case "furgone":
|
||||
do {
|
||||
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();
|
||||
break;
|
||||
case "automobile":
|
||||
do {
|
||||
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();
|
||||
break;
|
||||
case "motocicletta":
|
||||
System.out.print("Inserire la tipologia della motocicletta: ");
|
||||
tipologia = sc.nextLine();
|
||||
|
||||
do {
|
||||
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();
|
||||
break;
|
||||
default:
|
||||
System.out.println("Opzione non valida.");
|
||||
pausa();
|
||||
error = true;
|
||||
break;
|
||||
}
|
||||
} while (error);
|
||||
|
||||
garage.immettiNuovoVeicolo(veicolo);
|
||||
System.out.println("Veicolo inserito con successo.");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user