PDA

View Full Version : [JAVA SE] Aiuto su un problema,che soluzione adottare?


Roran
27-08-2010, 11:52
Sto lavorando ad un progetto per l'università insieme ad un mio amico,si tratta della gestione di alberghi e delle relative prenotazioni,il fatto è che lo abbiamo quasi terminato,manca solo l'ultima cosa,ovvero la richiesta delle prenotazioni e non troviamo una soluzione facile da adottare,già siamo a tantissime righe di codice.Il programma è basato su un interfaccia che va ad implementare 3 liste,una di tipo albergo,una di tipo cliente e una di tipo Prenotazione (quindi per intenderci ogni elemento di queste List non è altro che un oggetto del tipo utilizzato).Il tipo prenotazione non è altro che una classe che contiene i seguenti elementi:

private String NomeAlbergo;
private int NumeroStanza;
private String CognomeCliente;
private String NomeCliente;
private String CheckIn;
private String CheckOut;

e poi i vari metodi set e get.
Per gestire le prenotazioni all'inizio avevamo provato con il tipo Date utilizzando un SimpleDateFormat e successivamente facendo il parse della stringa per poi utilizzare i metodi after e before,però questo sembra non funzionare.Successivamente ho fatto io un metodo che divideva una stringa di tipo "dd/mm/aaaa" in un vettore di int per poi confrontare i campi con le altre date trasformate in un vettore di int (solo che la cosa si fa un pò complicata perchè le condizioni sono tantissime,e poi non penso che ci sia bisogno di metodi ad hoc).Come possiamo risolvere?

vi linko la pagina del progetto così capite un pò meglio:
http://twiki.di.uniroma1.it/pub/Metod_prog/EO/ProGetto/progetto2009_10.html

MEMon
28-08-2010, 10:26
Sto lavorando ad un progetto per l'università insieme ad un mio amico,si tratta della gestione di alberghi e delle relative prenotazioni,il fatto è che lo abbiamo quasi terminato,manca solo l'ultima cosa,ovvero la richiesta delle prenotazioni e non troviamo una soluzione facile da adottare,già siamo a tantissime righe di codice.Il programma è basato su un interfaccia che va ad implementare 3 liste,una di tipo albergo,una di tipo cliente e una di tipo Prenotazione (quindi per intenderci ogni elemento di queste List non è altro che un oggetto del tipo utilizzato).Il tipo prenotazione non è altro che una classe che contiene i seguenti elementi:

private String NomeAlbergo;
private int NumeroStanza;
private String CognomeCliente;
private String NomeCliente;
private String CheckIn;
private String CheckOut;

e poi i vari metodi set e get.
Per gestire le prenotazioni all'inizio avevamo provato con il tipo Date utilizzando un SimpleDateFormat e successivamente facendo il parse della stringa per poi utilizzare i metodi after e before,però questo sembra non funzionare.Successivamente ho fatto io un metodo che divideva una stringa di tipo "dd/mm/aaaa" in un vettore di int per poi confrontare i campi con le altre date trasformate in un vettore di int (solo che la cosa si fa un pò complicata perchè le condizioni sono tantissime,e poi non penso che ci sia bisogno di metodi ad hoc).Come possiamo risolvere?

vi linko la pagina del progetto così capite un pò meglio:
http://twiki.di.uniroma1.it/pub/Metod_prog/EO/ProGetto/progetto2009_10.html

Ovviamente una data deve essere un "Date", non una stringa o un vettore...
Per "gestire le prenotazioni" esattamente che intendi? Perchè non si capisce qual'è il problema che avete.

Comunque, per trasformare la stringa di una data in un Date dovete usare un DateFormat, il SimpleDateFormat va benissimo.
Per confrontare due date(è questo che penso vi crea problemi giusto?) potete usare il metodo "compareTo" della classe Date.

Roran
28-08-2010, 17:14
Ovviamente una data deve essere un "Date", non una stringa o un vettore...
Per "gestire le prenotazioni" esattamente che intendi? Perchè non si capisce qual'è il problema che avete.

Comunque, per trasformare la stringa di una data in un Date dovete usare un DateFormat, il SimpleDateFormat va benissimo.
Per confrontare due date(è questo che penso vi crea problemi giusto?) potete usare il metodo "compareTo" della classe Date.Per "gestire le prenotazioni" intendo controllare se le stanze di un albergo siano già state prenotate o meno,in poche parole controllare la disponibilità.In pratica l'intero programma all'avvio deve caricare un file di testo contenente i dati degli alberghi,dei clienti e delle prenotazioni quindi è probabile trovare prenotazioni già effettuate,il fatto è che nel programma dell'uni non abbiamo mai parlato della classe Date,però se non c'è altro modo proviamo,come funzionerebbe questo metodo "compareTo"?

tuccio`
28-08-2010, 20:27
Per "gestire le prenotazioni" intendo controllare se le stanze di un albergo siano già state prenotate o meno,in poche parole controllare la disponibilità.In pratica l'intero programma all'avvio deve caricare un file di testo contenente i dati degli alberghi,dei clienti e delle prenotazioni quindi è probabile trovare prenotazioni già effettuate,il fatto è che nel programma dell'uni non abbiamo mai parlato della classe Date,però se non c'è altro modo proviamo,come funzionerebbe questo metodo "compareTo"?http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Comparable.html

ma perché non riesco mai a capire i progetti di silvestri alla prima lettura? :|

io credo che avrei usato una classe Stanza che avesse come campo un TreeSet<Prenotazione> in cui poter controllare se la stanza è prenotata (ed eventualmente aggiungere)

ovviamente tenendo le stanze in un apposito Set<Stanza> dell'albergo corrispondente

MEMon
28-08-2010, 23:51
Per "gestire le prenotazioni" intendo controllare se le stanze di un albergo siano già state prenotate o meno,in poche parole controllare la disponibilità.In pratica l'intero programma all'avvio deve caricare un file di testo contenente i dati degli alberghi,dei clienti e delle prenotazioni quindi è probabile trovare prenotazioni già effettuate,il fatto è che nel programma dell'uni non abbiamo mai parlato della classe Date,però se non c'è altro modo proviamo,come funzionerebbe questo metodo "compareTo"?

Non c'è bisogno di sentirne parlare all'uni di una classe per usarla... altrimenti useresti lo 0.01% della roba che java contiene.
Per sapere cosa fa e come si usa guardati il javadoc, è molto intuitivo ed è meglio che impari a leggerlo fin da prima di subito.

Roran
29-08-2010, 10:20
http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Comparable.html

ma perché non riesco mai a capire i progetti di silvestri alla prima lettura? :|

io credo che avrei usato una classe Stanza che avesse come campo un TreeSet<Prenotazione> in cui poter controllare se la stanza è prenotata (ed eventualmente aggiungere)

ovviamente tenendo le stanze in un apposito Set<Stanza> dell'albergo corrispondentetranquillo è così per tutti,anzi è già tanto che almeno nel progetto qualche punto e qualche virgola li ha messi :D