Salve a tutti, ho un problema con il seguente esercizio:
"Un mobilificio vuole informatizzare la gestione dei clienti e dei preventivi. I dati relativi ai clienti sono memorizzari in un file "clienti.txt", organizzato come segue:
Codice Fiscale
Nome
Cognome
Indirizzo
Codice Fiscale
Nome
Cognome
Indirizzo
.....
I preventivi sono memorizzati in un file "preventivi.txt". Ogni preventivo contiene i seguenti dati organizzati nel seguente modo:
Identificativo preventivo
Data
Codice Fiscale richiedente
Sconto applicato
Mobile1
TipoMobile1
Quantit�Mobile1
PrezzoMobile1
Mobile2
TipoMobile2
Quantit�Mobile2
PrezzoMobile2
....
#
Identificativo preventivo
Data
Codice Fiscale richiedente
Sconto applicato
Mobile1
TipoMobile1
Quantit�Mobile1
PrezzoMobile1
Mobile2
TipoMobile2
Quantit�Mobile2
PrezzoMobile2
....
Scrivere un programma che:
- implementi le classi necessarie per la gestione dei preventivi
- stampi l'elenco di tutti i preventivi con il costo previsto prima e dopo l'applicazione dello sconto
- dato il nome ed il cognome di un cliente, stampi i dati di tutti i preventivi richiesti da tale cliente con il costo di ciascuno di essi al netto dello sconto"
per ora ho scritto le seguenti classi:
codice:
import java.util.Scanner;
public class clienti
{
public clienti(String CodiceFiscale, String Nome, String Cognome, String Indirizzo)
{
this.CodiceFiscale = CodiceFiscale;
this.Nome = Nome;
this.Cognome = Cognome;
this.Indirizzo = Indirizzo;
}
public static clienti read(Scanner s)
{
if(!s.hasNextLine())
return null;
String CodiceFiscale = s.nextLine();
String Nome = s.nextLine();
String Cognome = s.nextLine();
String Indirizzo = s.nextLine();
return new clienti(CodiceFiscale,Nome,Cognome,Indirizzo);
}
public String getCf()
{
return this.CodiceFiscale;
}
public String getName()
{
return this.Nome;
}
public String getCognome()
{
return this.Cognome;
}
public String getIndirizzo()
{
return this.Indirizzo;
}
public String toString()
{
return "Codice Fiscale: " + this.CodiceFiscale + "\nNome: " + this.Nome + "\nCognome: " + this.Cognome + "\nIndirizzo: " + this.Indirizzo;
}
private String CodiceFiscale;
private String Nome;
private String Cognome;
private String Indirizzo;
}
codice:
import java.util.Scanner;
public class Mobile
{
private String tipo;
private String quantita;
private String prezzo;
private String valore;
public Mobile(String tipo, String valore, String quantita, String prezzo)
{
this.tipo = tipo;
this.valore = valore;
this.quantita = quantita;
this.prezzo = prezzo;
}
public static Mobile read(Scanner s)
{
if(!s.hasNextLine())
return null;
String tipo = s.nextLine();
String valore = s.nextLine();
String quantita = s.nextLine();
String prezzo = s.nextLine();
return new Mobile(tipo,valore,quantita,prezzo);
}
public String getTipo()
{
return this.tipo;
}
public String getValore()
{
return this.valore;
}
public String getQuantita()
{
return this.quantita;
}
public String getPrezzo()
{
return this.prezzo;
}
public String toString()
{
return "Mobile: " + tipo + "\nTipo: " + valore + "\nQuantit�: " + quantita + "\nPrezzo: " + prezzo;
}
}
codice:
import java.util.ArrayList;import java.util.Scanner;
public class preventivi
{
private String PP;
private String data;
private String cf;
private String sconto;
private ArrayList<Mobile> mobili;
public preventivi(String PP, String data, String cf, String sconto, ArrayList<Mobile> mobili)
{
this.PP = PP;
this.data = data;
this.cf = cf;
this.sconto = sconto;
this.mobili = mobili;
}
public static preventivi read(Scanner s)
{
if(!s.hasNextLine())
return null;
String PP = s.nextLine();
String data = s.nextLine();
String cf = s.nextLine();
String sconto = s.nextLine();
ArrayList mobili = new ArrayList<Mobile>();
mobili.add(Mobile.read(s));
return new preventivi(PP, data,cf, sconto, mobili);
}
public String toString()
{
return "Identificativo di preventivo: " + PP + "\nData: " + data + "\ncf: " + cf + "\nsconto: " + sconto + "\n" + mobili;
}
}
I problemi che sto riscontrando sono:
- Nel metodo "read" delle diverse classi non so che condizione mettere affinch� possa leggere tutti i mobili, tutti i clienti e tutti i preventivi che sono nei file perch� ora come ora ne legge solo uno per file
- Nell'ultimo punto dell'esercizio, per associare nomi e preventivi, mi conviene usare una mappa?
Grazie in anticipo