diff --git a/src/Concessionaria/Auto.java b/src/Concessionaria/Auto.java index 599ecae..ba8488a 100644 --- a/src/Concessionaria/Auto.java +++ b/src/Concessionaria/Auto.java @@ -30,6 +30,10 @@ public class Auto{ return prezzo; } + public double getPrezzoFinale(){ + return prezzo; + } + public void setPrezzo(double newPrezzo){ this.prezzo=newPrezzo; } diff --git a/src/Concessionaria/AutoUsata.java b/src/Concessionaria/AutoUsata.java index 3b04c55..09d78d7 100644 --- a/src/Concessionaria/AutoUsata.java +++ b/src/Concessionaria/AutoUsata.java @@ -16,10 +16,6 @@ public class AutoUsata extends Auto{ return codiceProprietario; } - public double getPrezzoFinale(){ - return super.getPrezzo(); - } - public static AutoUsata read(Scanner sc) throws Exception{ String costruttore, modello, colore, cilindrata, codiceProprietario; double prezzo; diff --git a/src/Concessionaria/Concessionaria.java b/src/Concessionaria/Concessionaria.java index f88362d..888fcbb 100644 --- a/src/Concessionaria/Concessionaria.java +++ b/src/Concessionaria/Concessionaria.java @@ -20,6 +20,10 @@ public class Concessionaria{ } } + private Concessionaria(ArrayList auto){ + this.auto=auto; + } + public void print(PrintStream ps){ for(Auto a: auto){ if(a instanceof AutoNuova) @@ -30,5 +34,78 @@ public class Concessionaria{ } } + public Concessionaria filtroUsato(){ + ArrayList autoFilter = new ArrayList(); + for(Auto a: auto) + if(a instanceof AutoUsata) + autoFilter.add(a); + return new Concessionaria(autoFilter); + } + + public Concessionaria filtroNuovo(){ + ArrayList autoFilter = new ArrayList(); + for(Auto a: auto) + if(a instanceof AutoNuova) + autoFilter.add(a); + return new Concessionaria(autoFilter); + } + + public Concessionaria filtroPrezzoMinore(double prezzo){ + ArrayList autoFilter = new ArrayList(); + for(Auto a: auto) + if(a.getPrezzoFinale() autoFilter = new ArrayList(); + for(Auto a: auto) + if(a.getPrezzoFinale()>=prezzo) + autoFilter.add(a); + return new Concessionaria(autoFilter); + } + + public Concessionaria filtroModello(String modello){ + ArrayList autoFilter = new ArrayList(); + for(Auto a: auto) + if(a.getModello().equals(modello)) + autoFilter.add(a); + return new Concessionaria(autoFilter); + } + + public Concessionaria filtroCostruttore(String costruttore){ + ArrayList autoFilter = new ArrayList(); + for(Auto a: auto) + if(a.getCostruttore().equals(costruttore)) + autoFilter.add(a); + return new Concessionaria(autoFilter); + } + + public Concessionaria filtroColore(String colore){ + ArrayList autoFilter = new ArrayList(); + for(Auto a: auto) + if(a.getColore().equals(colore)) + autoFilter.add(a); + return new Concessionaria(autoFilter); + } + + public Concessionaria filtroProprietario(String codiceProprietario){ + ArrayList autoFilter = new ArrayList(); + for(Auto a: auto) + if(a instanceof AutoUsata && ((AutoUsata) a).getCodiceProprietario().equals(codiceProprietario)) + autoFilter.add(a); + return new Concessionaria(autoFilter); + } + + public Concessionaria filtroAnnoImmatricolazione(int annoImmatricolazione){ + ArrayList autoFilter = new ArrayList(); + for(Auto a: auto) + if(a instanceof AutoUsata && ((AutoUsata) a).getAnnoImmatricolazione()==annoImmatricolazione) + autoFilter.add(a); + return new Concessionaria(autoFilter); + } + + private ArrayList auto; } \ No newline at end of file diff --git a/src/Concessionaria/Test.java b/src/Concessionaria/Test.java index c382744..feecd68 100644 --- a/src/Concessionaria/Test.java +++ b/src/Concessionaria/Test.java @@ -7,6 +7,6 @@ public class Test{ Scanner scNuove = new Scanner(new File("nuove.dat")); Scanner scUsate = new Scanner(new File("usate.dat")); Concessionaria con = new Concessionaria(scNuove, scUsate); - con.print(System.out); + con.filtroAnnoImmatricolazione(2015).print(System.out); } } \ No newline at end of file