Prezzo medio blu in intervallo
This commit is contained in:
@@ -4,9 +4,8 @@ import java.util.Calendar;
|
||||
|
||||
public class Automobile {
|
||||
private String numeroTelaio;
|
||||
private Calendar dataDiVendita;
|
||||
private Calendar dataDiVendita;
|
||||
private String colore;
|
||||
|
||||
private double prezzoDiVendita;
|
||||
private int etaAcquirente;
|
||||
|
||||
@@ -26,4 +25,12 @@ public class Automobile {
|
||||
public int getEtaAcquirente() {
|
||||
return etaAcquirente;
|
||||
}
|
||||
|
||||
public Calendar getDataDiVendita() {
|
||||
return dataDiVendita;
|
||||
}
|
||||
|
||||
public double getPrezzoDiVendita() {
|
||||
return prezzoDiVendita;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,11 +52,19 @@ public class ConcessionariaLista {
|
||||
pausa();
|
||||
break;
|
||||
case 2:
|
||||
System.out.println(etaMediaPerColore(concessionaria));
|
||||
if (concessionaria.isEmpty()) {
|
||||
System.out.println("Inserire almeno un'auto prima di proseguire.");
|
||||
} else {
|
||||
System.out.println(etaMediaPerColore(concessionaria));
|
||||
}
|
||||
pausa();
|
||||
break;
|
||||
case 3:
|
||||
|
||||
if (concessionaria.isEmpty()) {
|
||||
System.out.println("Inserire almeno un'auto prima di proseguire.");
|
||||
} else {
|
||||
System.out.println(prezzoMedioBluInIntervallo(concessionaria));
|
||||
}
|
||||
pausa();
|
||||
break;
|
||||
default:
|
||||
@@ -86,7 +94,7 @@ public class ConcessionariaLista {
|
||||
System.out.print("Inserire il numero di telaio: ");
|
||||
numeroTelaio = sc.nextLine();
|
||||
|
||||
dataDiVendita.setTime(dataDiVendita());
|
||||
dataDiVendita.setTime(data("di vendita"));
|
||||
|
||||
colore = colore();
|
||||
|
||||
@@ -97,7 +105,7 @@ public class ConcessionariaLista {
|
||||
concessionaria.add(new Automobile(numeroTelaio, dataDiVendita, colore, prezzoDiVendita, etaAcquirente));
|
||||
}
|
||||
|
||||
private static Date dataDiVendita() {
|
||||
private static Date data(String diCheCosa) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(FORMATO_DATA);
|
||||
boolean error;
|
||||
Date data = null;
|
||||
@@ -105,7 +113,7 @@ public class ConcessionariaLista {
|
||||
|
||||
do {
|
||||
error = false;
|
||||
System.out.print("Inserire la data di vendita nel formato " + FORMATO_DATA + ": ");
|
||||
System.out.print("Inserire la data " + diCheCosa + " nel formato " + FORMATO_DATA + ": ");
|
||||
try {
|
||||
data = sdf.parse(sc.nextLine());
|
||||
} catch (ParseException _) {
|
||||
@@ -475,9 +483,40 @@ public class ConcessionariaLista {
|
||||
if (quantitaEta == 0) {
|
||||
etaMediaPerColore = "Nessuno acquista un'auto di colore " + colore.toLowerCase();
|
||||
} else {
|
||||
etaMediaPerColore = "L'età media di chi acquista un'auto di colore " + colore.toLowerCase() + " è " + (etaTotale/quantitaEta);
|
||||
etaMediaPerColore = "L'età media di chi acquista un'auto di colore " + colore.toLowerCase() + " è "
|
||||
+ ((double) etaTotale / quantitaEta);
|
||||
}
|
||||
|
||||
return etaMediaPerColore;
|
||||
}
|
||||
|
||||
private static String prezzoMedioBluInIntervallo(LinkedList<Automobile> concessionaria) {
|
||||
String prezzoMedioBluInIntervallo;
|
||||
ListIterator<Automobile> iterator = concessionaria.listIterator();
|
||||
Calendar inizioIntervallo = Calendar.getInstance();
|
||||
Calendar fineIntervallo = Calendar.getInstance();
|
||||
Automobile corrente;
|
||||
double prezzoTotale = 0;
|
||||
int quantitaPrezzo = 0;
|
||||
|
||||
inizioIntervallo.setTime(data("dell'inizio dell'intervallo in cui cercare"));
|
||||
fineIntervallo.setTime(data("della fine dell'intervallo in cui cercare"));
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
corrente = iterator.next();
|
||||
if (corrente.getDataDiVendita().after(inizioIntervallo) && corrente.getDataDiVendita().before(fineIntervallo)) {
|
||||
prezzoTotale += corrente.getPrezzoDiVendita();
|
||||
quantitaPrezzo++;
|
||||
}
|
||||
}
|
||||
|
||||
if (quantitaPrezzo == 0) {
|
||||
prezzoMedioBluInIntervallo = "Nessuno acquista un'auto di colore blu";
|
||||
} else {
|
||||
prezzoMedioBluInIntervallo = "Il prezzo medio di un'auto di colore blu è "
|
||||
+ (prezzoTotale / quantitaPrezzo);
|
||||
}
|
||||
|
||||
return prezzoMedioBluInIntervallo;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user