diff --git a/src/concessionarialista/Automobile.java b/src/concessionarialista/Automobile.java index d736f16..0169ae4 100644 --- a/src/concessionarialista/Automobile.java +++ b/src/concessionarialista/Automobile.java @@ -5,10 +5,11 @@ import java.util.Calendar; public class Automobile { private String numeroTelaio; private Calendar dataDiVendita; - private String colore; + private String colore; + private double prezzoDiVendita; private int etaAcquirente; - + public Automobile(String numeroTelaio, Calendar dataDiVendita, String colore, double prezzoDiVendita, int etaAcquirente) { this.numeroTelaio = numeroTelaio; @@ -18,4 +19,11 @@ public class Automobile { this.etaAcquirente = etaAcquirente; } + public String getColore() { + return colore; + } + + public int getEtaAcquirente() { + return etaAcquirente; + } } diff --git a/src/concessionarialista/ConcessionariaLista.java b/src/concessionarialista/ConcessionariaLista.java index 8e78a32..84e2769 100644 --- a/src/concessionarialista/ConcessionariaLista.java +++ b/src/concessionarialista/ConcessionariaLista.java @@ -10,6 +10,7 @@ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.InputMismatchException; import java.util.LinkedList; +import java.util.ListIterator; import java.util.Scanner; /** @@ -51,7 +52,7 @@ public class ConcessionariaLista { pausa(); break; case 2: - + System.out.println(etaMediaPerColore(concessionaria)); pausa(); break; case 3: @@ -454,4 +455,29 @@ public class ConcessionariaLista { return etaAcquirente; } + + private static String etaMediaPerColore(LinkedList concessionaria) { + String etaMediaPerColore; + String colore = colore(); + ListIterator iterator = concessionaria.listIterator(); + int etaTotale = 0; + int quantitaEta = 0; + Automobile corrente; + + while (iterator.hasNext()) { + corrente = iterator.next(); + if (corrente.getColore().equals(colore)) { + etaTotale += corrente.getEtaAcquirente(); + quantitaEta++; + } + } + + 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); + } + + return etaMediaPerColore; + } }