implementazione base

This commit is contained in:
Orange 2016-11-21 23:17:02 +01:00
parent 77aeeeb8fa
commit 3d301fa4d0
7 changed files with 231 additions and 0 deletions

View File

@ -0,0 +1,68 @@
import java.util.Scanner;
public class Auto{
public Auto(String costruttore, String modello, String colore, String cilindrata, double prezzo){
this.costruttore=costruttore;
this.modello=modello;
this.colore=colore;
this.cilindrata=cilindrata;
this.prezzo=prezzo;
}
public String getCostruttore(){
return costruttore;
}
public String getModello(){
return modello;
}
public String getColore(){
return colore;
}
public String getCilindrata(){
return cilindrata;
}
public double getPrezzo(){
return prezzo;
}
public void setPrezzo(double newPrezzo){
this.prezzo=newPrezzo;
}
public void setColore(String newColore){
this.colore=newColore;
}
public static Auto read(Scanner sc) throws Exception{
String costruttore, modello, colore, cilindrata;
double prezzo;
if(!sc.hasNext()) return null;
costruttore=sc.next();
if(!sc.hasNext()) return null;
modello=sc.next();
if(!sc.hasNext()) return null;
colore=sc.next();
if(!sc.hasNext()) return null;
cilindrata=sc.next();
if(!sc.hasNextDouble()) return null;
prezzo=sc.nextInt();
return new Auto(costruttore, modello, colore, cilindrata, prezzo);
}
public String toString(){
return costruttore+" "+modello;
}
private String costruttore;
private String modello;
private String colore;
private String cilindrata;
private double prezzo;
}

View File

@ -0,0 +1,44 @@
import java.util.Scanner;
public class AutoNuova extends Auto{
public AutoNuova(String costruttore, String modello, String colore, String cilindrata, double prezzo, int sconto){
super(costruttore, modello, colore, cilindrata, prezzo);
this.sconto=sconto;
}
public double getPrezzoFinale(){
return super.getPrezzo()*(1-sconto/100);
}
public int getSconto(){
return sconto;
}
public void setSconto(int newSconto){
this.sconto=newSconto;
}
public static AutoNuova read(Scanner sc) throws Exception{
String costruttore, modello, colore, cilindrata;
double prezzo;
int sconto;
if(!sc.hasNext()) return null;
costruttore=sc.next();
if(!sc.hasNext()) return null;
modello=sc.next();
if(!sc.hasNext()) return null;
colore=sc.next();
if(!sc.hasNext()) return null;
cilindrata=sc.next();
if(!sc.hasNextDouble()) return null;
prezzo=sc.nextDouble();
if(!sc.hasNextInt()) return null;
sconto=sc.nextInt();
return new AutoNuova(costruttore, modello, colore, cilindrata, prezzo, sconto);
}
private int sconto;
}

View File

@ -0,0 +1,48 @@
import java.util.Scanner;
public class AutoUsata extends Auto{
public AutoUsata(String costruttore, String modello, String colore, String cilindrata, double prezzo, int annoImmatricolazione, String codiceProprietario){
super(costruttore, modello, colore, cilindrata, prezzo);
this.annoImmatricolazione=annoImmatricolazione;
this.codiceProprietario=codiceProprietario;
}
public int getAnnoImmatricolazione(){
return annoImmatricolazione;
}
public String getCodiceProprietario(){
return codiceProprietario;
}
public double getPrezzoFinale(){
return super.getPrezzo();
}
public static AutoUsata read(Scanner sc) throws Exception{
String costruttore, modello, colore, cilindrata, codiceProprietario;
double prezzo;
int annoImmatricolazione;
if(!sc.hasNext()) return null;
costruttore=sc.next();
if(!sc.hasNext()) return null;
modello=sc.next();
if(!sc.hasNext()) return null;
colore=sc.next();
if(!sc.hasNext()) return null;
cilindrata=sc.next();
if(!sc.hasNextDouble()) return null;
prezzo=sc.nextDouble();
if(!sc.hasNextInt()) return null;
annoImmatricolazione=sc.nextInt();
if(!sc.hasNext()) return null;
codiceProprietario=sc.next();
return new AutoUsata(costruttore, modello, colore, cilindrata, prezzo, annoImmatricolazione, codiceProprietario);
}
private int annoImmatricolazione;
private String codiceProprietario;
}

View File

@ -0,0 +1,34 @@
import java.util.Scanner;
import java.util.ArrayList;
import java.io.PrintStream;
public class Concessionaria{
public Concessionaria(Scanner scNuove, Scanner scUsate) throws Exception{
auto = new ArrayList<Auto>();
Auto a = AutoNuova.read(scNuove);
while(a!=null){
auto.add(a);
a=AutoNuova.read(scNuove);
}
a=AutoUsata.read(scUsate);
while(a!=null){
auto.add(a);
a=AutoUsata.read(scUsate);
}
}
public void print(PrintStream ps){
for(Auto a: auto){
if(a instanceof AutoNuova)
ps.print("Auto Nuova: ");
else
ps.print("Auto Usata: ");
ps.println(a.toString());
}
}
private ArrayList<Auto> auto;
}

View File

@ -0,0 +1,12 @@
import java.util.Scanner;
import java.io.File;
public class Test{
public static void main(String [] args) throws Exception{
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);
}
}

View File

@ -0,0 +1,18 @@
fiat
500x
rosso
500cc
20000
7
ford
fiesta
blue
150cc
20400
10
ford
mastang
gialla
1000cc
100000
5

View File

@ -0,0 +1,7 @@
fiat
500x
rosso
500cc
15000
2015
mgnrfl884ndd