This commit is contained in:
Orange 2016-11-21 23:36:02 +01:00
parent 3d301fa4d0
commit 9290c7403f
4 changed files with 82 additions and 5 deletions

View File

@ -30,6 +30,10 @@ public class Auto{
return prezzo; return prezzo;
} }
public double getPrezzoFinale(){
return prezzo;
}
public void setPrezzo(double newPrezzo){ public void setPrezzo(double newPrezzo){
this.prezzo=newPrezzo; this.prezzo=newPrezzo;
} }

View File

@ -16,10 +16,6 @@ public class AutoUsata extends Auto{
return codiceProprietario; return codiceProprietario;
} }
public double getPrezzoFinale(){
return super.getPrezzo();
}
public static AutoUsata read(Scanner sc) throws Exception{ public static AutoUsata read(Scanner sc) throws Exception{
String costruttore, modello, colore, cilindrata, codiceProprietario; String costruttore, modello, colore, cilindrata, codiceProprietario;
double prezzo; double prezzo;

View File

@ -20,6 +20,10 @@ public class Concessionaria{
} }
} }
private Concessionaria(ArrayList<Auto> auto){
this.auto=auto;
}
public void print(PrintStream ps){ public void print(PrintStream ps){
for(Auto a: auto){ for(Auto a: auto){
if(a instanceof AutoNuova) if(a instanceof AutoNuova)
@ -30,5 +34,78 @@ public class Concessionaria{
} }
} }
public Concessionaria filtroUsato(){
ArrayList<Auto> autoFilter = new ArrayList<Auto>();
for(Auto a: auto)
if(a instanceof AutoUsata)
autoFilter.add(a);
return new Concessionaria(autoFilter);
}
public Concessionaria filtroNuovo(){
ArrayList<Auto> autoFilter = new ArrayList<Auto>();
for(Auto a: auto)
if(a instanceof AutoNuova)
autoFilter.add(a);
return new Concessionaria(autoFilter);
}
public Concessionaria filtroPrezzoMinore(double prezzo){
ArrayList<Auto> autoFilter = new ArrayList<Auto>();
for(Auto a: auto)
if(a.getPrezzoFinale()<prezzo)
autoFilter.add(a);
return new Concessionaria(autoFilter);
}
public Concessionaria filtroPrezzoMaggiore(double prezzo){
ArrayList<Auto> autoFilter = new ArrayList<Auto>();
for(Auto a: auto)
if(a.getPrezzoFinale()>=prezzo)
autoFilter.add(a);
return new Concessionaria(autoFilter);
}
public Concessionaria filtroModello(String modello){
ArrayList<Auto> autoFilter = new ArrayList<Auto>();
for(Auto a: auto)
if(a.getModello().equals(modello))
autoFilter.add(a);
return new Concessionaria(autoFilter);
}
public Concessionaria filtroCostruttore(String costruttore){
ArrayList<Auto> autoFilter = new ArrayList<Auto>();
for(Auto a: auto)
if(a.getCostruttore().equals(costruttore))
autoFilter.add(a);
return new Concessionaria(autoFilter);
}
public Concessionaria filtroColore(String colore){
ArrayList<Auto> autoFilter = new ArrayList<Auto>();
for(Auto a: auto)
if(a.getColore().equals(colore))
autoFilter.add(a);
return new Concessionaria(autoFilter);
}
public Concessionaria filtroProprietario(String codiceProprietario){
ArrayList<Auto> autoFilter = new ArrayList<Auto>();
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<Auto> autoFilter = new ArrayList<Auto>();
for(Auto a: auto)
if(a instanceof AutoUsata && ((AutoUsata) a).getAnnoImmatricolazione()==annoImmatricolazione)
autoFilter.add(a);
return new Concessionaria(autoFilter);
}
private ArrayList<Auto> auto; private ArrayList<Auto> auto;
} }

View File

@ -7,6 +7,6 @@ public class Test{
Scanner scNuove = new Scanner(new File("nuove.dat")); Scanner scNuove = new Scanner(new File("nuove.dat"));
Scanner scUsate = new Scanner(new File("usate.dat")); Scanner scUsate = new Scanner(new File("usate.dat"));
Concessionaria con = new Concessionaria(scNuove, scUsate); Concessionaria con = new Concessionaria(scNuove, scUsate);
con.print(System.out); con.filtroAnnoImmatricolazione(2015).print(System.out);
} }
} }