dunque ho iniziato a buttare giù del codice ma mi risulta parecchio difficile andare avanti
codice:
public class RentalSystem {
private static final String movies="movies.txt";
private static final String rentals="rentals.txt";
private static final String clienti="clienti.txt";
private static LinkedList<Film> movieslist=new LinkedList<Film>();
private static LinkedList<Cliente> clientslist=new LinkedList<Cliente>();
public static void carica() throws IOException{
BufferedReader read_movies; BufferedReader read_rentals; BufferedReader read_clienti;
String pointer;
try{
read_movies=new BufferedReader(new FileReader(movies));
pointer=read_movies.readLine();
while(pointer!=null){ //legge il file film e carica i film
String cod=read_movies.readLine();
String title=read_movies.readLine();
Film f=new Film(cod,title);
movieslist.add(f);
int num_acts=Integer.parseInt(read_movies.readLine());
for(int i=0;i<num_acts;i++)
(f.getActorsList()).add(read_movies.readLine());
pointer=read_movies.readLine();
}
read_clienti=new BufferedReader(new FileReader(clienti));
pointer=read_clienti.readLine();
while(pointer!=null){ //legge il file clienti e carica i clienti
String cod_cliente=read_clienti.readLine();
String nome_c=read_clienti.readLine();
String cognome_c=read_clienti.readLine();
String cod_fiscale=read_clienti.readLine();
Cliente c=new Cliente(cod_cliente,nome_c,cognome_c,cod_fiscale);
clientslist.add(c);
pointer=read_clienti.readLine();
}
read_rentals=new BufferedReader(new FileReader(rentals));
pointer=read_rentals.readLine();
while(pointer!=null){
String cod_c=read_rentals.readLine();
String cod_dvd=read_rentals.readLine();
int rdays=Integer.parseInt(read_rentals.readLine());
//qui devo collegare la lista clienti
pointer=read_rentals.readLine();
}
}
catch(FileNotFoundException file){
System.err.println("Errore nel caricamento del file!");
}
catch(IOException e){
e.printStackTrace();
}
}
}
questa è la classe che va a leggere dai tre file ed effettua il caricamento dei dati in strutture.
qui io prendo i film e li carico in una lista collegata di film.poi prendo i clienti e li carico in una lista di clienti.
poi devo collegare l'oggetto noleggio con i film ed i clienti.osservo che la struttura noleggio ha l'elemento codice_DVD e codice_cliente.questi due mi permetteranno di collegare l'oggetto noleggio a film e clienti. ma come posso fare tutto ciò?
qui la classe FILM:
codice:
import java.util.*;
public class Film {
private String codice_dvd;
private String title;
private Collection<String> actors;
private Collection<Noleggio> rentals;
public Film(){}
public Film(String cod,String title){
codice_dvd=cod;
this.title=title;
actors=new LinkedList<String>();
rentals=new LinkedList<Noleggio>();
}
public Collection<String> getActorsList(){
return actors;
}
public Collection<Noleggio> getRentalsList(){
return rentals;
}
public String getCodDVD(){
return codice_dvd;
}
}
qui la classe CLIENTE
codice:
public class Cliente {
private String cod_cliente;
private String nome;
private String cognome;
private String cf;
public Cliente(){}
public Cliente(String cod,String n,String c,String cf){
cod_cliente=cod;
nome=n;
cognome=c;
this.cf=cf;
}
public String getCodC(){
return cod_cliente;
}
}