|
[D]ani[J] |
[Laboratorio] Es x il 19-12 Gestione Biblioteca |
11-12-2003 17:21 |
|
|
[D]ani[J] |
dsy moderator
Registered: Aug 2003
Posts: 1380 (0.18 al dì)
Location:
Corso: F47
Anno:
Time Online: 17 Days, 14:25:28 [...]
Status: Offline
Edit | Report | IP: Logged |
[Laboratorio] Es x il 19-12 Gestione Biblioteca
Postate qua i vostri commenti ecc... sull'esercizio di laboratorio GESTIONE BIBLIOTECA per il 19-12-2003
__________________
Dani
e-mail: DaniJ@dsy.it
...ahhh ste donne!
Buoniiiiiisssimaaaa!
|
11-12-2003 17:21 |
|
|
| |
|
citrus |
come diavolo funzionano le hashtables??????????
... |
15-12-2003 14:35 |
|
|
citrus |
.arcimaestro.
Registered: Oct 2003
Posts: 382 (0.05 al dì)
Location: como
Corso: com. digitale
Anno: 2
Time Online: 2 Days, 14:39:24 [...]
Status: Offline
Edit | Report | IP: Logged |
come diavolo funzionano le hashtables??????????
ma sopratutto, come faccio a sapere quanti elementi contiene un hash tables?
ho provato con borrows.Size(); però questo metodo mi restituisce il numero di chiavi utilizzate e in questo caso non va bene perchè i libri noleggiati vengono tutti memorizzati con la stessa chiave (user), quindi questometodo restituisce sempre 1!!!!!!
io ho bisogno di sapere quanti oggetti sono mappati da una determinata chiave!
(in questo modo posso sapere quanti libri ha già noleggiato un determinato utente!)
... ma non trovo un metodo adatto.....
...
qualcuno sa aiutarmi?
denghiuuuuu
|
15-12-2003 14:35 |
|
|
| |
|
lockit |
Le hashtable funziona come una tabella di un datab ... |
15-12-2003 23:35 |
|
|
lockit |
-:| Losef well-wisher |:-
Registered: May 2003
Posts: 88 (0.01 al dì)
Location: Milano
Corso: Comunicazione Digitale
Anno: 3
Time Online: 20:32:23 [...]
Status: Offline
Edit | Report | IP: Logged |
Le hashtable funziona come una tabella di un database con due soli campi, uno è quello chiave che serve per riconoscere le "righe"(quindi non ci possono esere key doppie!) e l'atro e il dato che può essere anche ripetuto.
io ho usato un array di 3 hashtable con le key sempre associate allo user, per non duplicarle.
Sembra funzionare.
ciao
|
15-12-2003 23:35 |
|
|
| |
|
citrus |
mmh!!
... |
16-12-2003 17:05 |
|
|
citrus |
.arcimaestro.
Registered: Oct 2003
Posts: 382 (0.05 al dì)
Location: como
Corso: com. digitale
Anno: 2
Time Online: 2 Days, 14:39:24 [...]
Status: Offline
Edit | Report | IP: Logged |
mmh!!
non male come idea.....
io mi ero fossilizzato su di un unico hashtable
ma in effetti nessuno ci vieta di usarne di più.....
bella 040381!!!
|
16-12-2003 17:05 |
|
|
| |
|
citrus |
... preò un problema mi sorge comunque.....
... |
16-12-2003 17:33 |
|
|
citrus |
.arcimaestro.
Registered: Oct 2003
Posts: 382 (0.05 al dì)
Location: como
Corso: com. digitale
Anno: 2
Time Online: 2 Days, 14:39:24 [...]
Status: Offline
Edit | Report | IP: Logged |
... preò un problema mi sorge comunque.....
l'immortacci a sti minchia di hashtable!!!!
non hanno un costruttore vero e proprio giusto?
si crea una chiave
Book b1 = (Book)borrows.get(u);
e poi le si associa un oggetto
borrows.put(u, b);
....
allora io come faccio a mettere un hashtable in un array?
per intenderci non posso fare
array[0]=new Hashtable(key,object);
allora come se fa?
|
16-12-2003 17:33 |
|
|
| |
|
lockit |
[QUOTE][i]Originally posted by citrus [/i]
... |
16-12-2003 18:25 |
|
|
lockit |
-:| Losef well-wisher |:-
Registered: May 2003
Posts: 88 (0.01 al dì)
Location: Milano
Corso: Comunicazione Digitale
Anno: 3
Time Online: 20:32:23 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by citrus
... preò un problema mi sorge comunque.....
l'immortacci a sti minchia di hashtable!!!!
non hanno un costruttore vero e proprio giusto?
si crea una chiave
Book b1 = (Book)borrows.get(u);
e poi le si associa un oggetto
borrows.put(u, b);
....
allora io come faccio a mettere un hashtable in un array?
per intenderci non posso fare
array[0]=new Hashtable(key,object);
allora come se fa?
Le Hashtable le crei una volta sola e poi le riempi, svuoti e leggi con i metodi di questa classe(put(), get(), ...).
Es:
import java.util.Hashtable;
class Esempio{
//Variabile
private Hashtable[] borrows = new Hashtable[3];
//dentro al costuttore della classe
public Esempio(){
borrows[0] = new Hashtable();
borrows[1] = new Hashtable();
borrows[2] = new Hashtable();
}
Scusate ora ho corretto.
Prima era sbagliato(e ho sclerato di brutto per capirlo) perchè scrivendo:
borrows[0]=borrows[1]=borrows[2]= new HastTable()
si crea un solo oggetto per tutti e 3 quindi modificandone uno si modificano tutti e tre
//e nei metodi puoi usare tutte e tre le hashtable
public Object get(Object key, int indiceArray){
return borrows[indiceArray].get(key);
}
}
Last edited by lockit on 22-12-2003 at 20:44
|
16-12-2003 18:25 |
|
|
| |
|
foolish |
visto il server down webcen posto il testo per que ... |
16-12-2003 19:55 |
|
|
foolish |
bleak
Registered: Oct 2003
Posts: 3585 (0.46 al dì)
Location:
Corso:
Anno:
Time Online: 36 Days, 7:28:56 [...]
Status: Offline
Edit | Report | IP: Logged |
visto il server down webcen posto il testo per questo esercizio, l'altro è dall'alra parte
Gestione biblioteca
Considerare l'esempio della gestione di una biblioteca visto a lezione.
Derivare dalla classe User la classe UserWithCard con il privilegio di poter prendere in prestito fino a tre libri.
Il programma principale dovrà essere modificato in modo da prevedere l'operazione di emissione della tessera (che ovviamente da una tessera all'utente che la richiede. La tessera viene fornita dai punti di gestione e relativi bibliotecari (devono quindi essere modificate anche queste classi).
Analogamente dovrà essere modificato il punto di prestito in modo che l'Hashtable borrows ammetta più libri per lo stesso utente.
Nota: il modo più semplice per modificare le varie classi è sfruttare ereditarietà e polimorfismo. Derivare quindi nuove classi da quelle da modificare, ridefinire i metodi coinvolti, riscrivere quindi il main in modo che usi le classi definite.
__________________
The only way to discover the limits of the possible is to go beyond them into the impossible.
Arthur C. Clarke.
|
16-12-2003 19:55 |
|
|
| |
|
citrus |
[QUOTE][i]Originally posted by 040381 [/i]
... |
16-12-2003 20:33 |
|
|
citrus |
.arcimaestro.
Registered: Oct 2003
Posts: 382 (0.05 al dì)
Location: como
Corso: com. digitale
Anno: 2
Time Online: 2 Days, 14:39:24 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by 040381
Le Hashtable le crei una volta sola e poi le riempi, svuoti e leggi con i metodi di questa classe(put(), get(), ...).
Es:
import java.util.Hashtable;
class Esempio{
//Variabile
private Hashtable[] borrows = new Hashtable[3];
//dentro al costuttore della classe
public Esempio(){
borrows[0] = borrows[1] = borrows[2] = new Hashtable();
}
//e nei metodi puoi usare tutte e tre le hashtable
public Object get(Object key, int indiceArray){
return borrows[indiceArray].get(key);
}
}
ok grazie mille....
però ora ho visto che c'è un metodo RenderaBook() e TakeaBook() anche nella classe library (non solo nella LoanPoint) e anche questi usano un hashtable questa volta però per i libri.....
devo creare un array anche per questi?
... ogni volta che mi avvicino alla soluzione porca miseria mi accorgo che devo fare altre modifiche!!!!
oltretutto io non ho davvero ancora capito come diavolo è stata organizzata sta applicazione!!!!!!!!!!!!
ce la farà il nostro eroe???
(io ho una gran voglia di riscriverlo da zero ma non so se poi verrà accettato perchè così cadrebbe lo scopo dll'esercizio, che è quello di fare delle modifiche su di un programma già fatto!)
confermate?
Last edited by citrus on 16-12-2003 at 20:35
|
16-12-2003 20:33 |
|
|
| |
|
citrus |
come non detto....
... |
16-12-2003 21:40 |
|
|
citrus |
.arcimaestro.
Registered: Oct 2003
Posts: 382 (0.05 al dì)
Location: como
Corso: com. digitale
Anno: 2
Time Online: 2 Days, 14:39:24 [...]
Status: Offline
Edit | Report | IP: Logged |
come non detto....
...era una stronzata...
meglio che ci dorma sopra altrimenti qui passo fuori!
|
16-12-2003 21:40 |
|
|
| |
|
Rocco.Li |
Dato che webcen e' ancora Down, e siamo a mercoled ... |
17-12-2003 08:21 |
|
|
Rocco.Li |
38 Primavere, Dottore !
Registered: Sep 2003
Posts: 609 (0.08 al dì)
Location: BARLASSINA (MI)
Corso: COMUNICAZIONE DIGITALE
Anno: Finitooooo !!!!
Time Online: 8 Days, 2:31:26 [...]
Status: Offline
Edit | Report | IP: Logged |
Dato che webcen e' ancora Down, e siamo a mercoledi !
Qualcuno sa gentilmente indicarmi il link preciso per la sottoposizione delle esercitazioni ?
Grazie
__________________
Alcuni uomini vedono le cose come sono e dicono: << Perche' ? >>
Io sogno le cose come non sono mai state e dico: << Perche' No ? >>
George Barnard Shaw, Commediografo.
"non preoccuparti troppo, comunque vada la vita, non ne uscirai vivo !" - anonimo
|
17-12-2003 08:21 |
|
|
| |
|
Pigmalione |
Questo è il sito per le sottoposizioni:
... |
17-12-2003 08:43 |
|
|
Pigmalione |
.simpatizzante.
Registered: Oct 2003
Posts: 12 (0.00 al dì)
Location: Varese
Corso: Comunicazione Digitale
Anno: Primo
Time Online: 8:09:54 [...]
Status: Offline
Edit | Report | IP: Logged |
Questo è il sito per le sottoposizioni:
http://infogen.dsi.unimi.it/
__________________
- Ogni soluzione genera nuovi problemi.
|
17-12-2003 08:43 |
|
|
| |
|
lockit |
[QUOTE][i]Originally posted by citrus [/i]
... |
17-12-2003 13:49 |
|
|
lockit |
-:| Losef well-wisher |:-
Registered: May 2003
Posts: 88 (0.01 al dì)
Location: Milano
Corso: Comunicazione Digitale
Anno: 3
Time Online: 20:32:23 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by citrus
ok grazie mille....
però ora ho visto che c'è un metodo RenderaBook() e TakeaBook() anche nella classe library (non solo nella LoanPoint) e anche questi usano un hashtable questa volta però per i libri.....
devo creare un array anche per questi?
... ogni volta che mi avvicino alla soluzione porca miseria mi accorgo che devo fare altre modifiche!!!!
oltretutto io non ho davvero ancora capito come diavolo è stata organizzata sta applicazione!!!!!!!!!!!!
ce la farà il nostro eroe???
(io ho una gran voglia di riscriverlo da zero ma non so se poi verrà accettato perchè così cadrebbe lo scopo dll'esercizio, che è quello di fare delle modifiche su di un programma già fatto!)
confermate?
Devi capire come funziona il tutto a partire da LibraryManagmetSystem e quando trovi un metodo di una classe vai nella classe a vedere cosa fà, scoprirai che è tutta una cacscata che finisce alla classe Library lo spacchio è farsi lo schema mentale di come interagiscono le classi.
per esempio per prestare unu libro:
<LibraryManagerSystem>
llp istanza della classe LoanLibrarian(bibliotecario che presta) chiama il metodo takeBook(User u, Book b)
if(llp.takeBook(u, b))
System.out.print("ecco il libro");
</LibraryManagerSystem>
llp e un istanza di LoanLibrarian quindi andiamo a vedere cosa fà in questa classe
<LoanLibrarian>
il bibliotecario(istanza di LoanLibrarian) chiede al Punto Prestiti(LoanPoint), di cui fà parte, se l'utente può ricevere un altro libro invocando il metodo della classe a cui è associato
return IlMioLoanPoint.takeBook(u, b)
</LoanLibrarian>
<LibraryLoanPoint>
il Punto Prestiti(LoanPoint) controlla in borrows se l'utente può ricevere un altro libro, se l'utente può prenderne un altro chiede alla biblioteca di dargli il libro che però potrebbe non esserci.
if(l'utente può prendere libri[qui dipende da te l'if l'ho messo giusto per far capire])
if(LaMiaLibreria.takeBook(u))
return true;
</LibraryLoanPoint>
<Library>
Qui la biblioteca controlla che il libro ci sia:
se c'è lo preleva e restituisce true
se non c'è restituisce false
</Library>
ciao
NB non ho davanti gli esercizi, magari i nomi delle classi non sono identici ma il ragionamento è giusto.
I tag <NomeClasse> li ho messi per far capire meglio in che file ci troviamo:
inizio file<classe>
fine file</classe>
|
17-12-2003 13:49 |
|
|
| |
|
supernova |
Raga Dsy è in down!!!! Mi devo scaricare le slide ... |
17-12-2003 21:08 |
|
|
supernova |
Mad For It
Registered: May 2003
Posts: 403 (0.05 al dì)
Location: Milan, London
Corso: Digital Comunication
Anno: I Don't Know, Not Yet.
Time Online: 3 Days, 4:56:55 [...]
Status: Offline
Edit | Report | IP: Logged |
Raga Dsy è in down!!!! Mi devo scaricare le slides della biblioteca altrimenti come faccio il programma!!!! Qualcuno può postare le slides x fare gli esercizi????? Grazie Tante!!!!
__________________
" So I Start The Revolution From My Bed ". Noel Gallagher
|
17-12-2003 21:08 |
|
|
| |
|
supernova |
Bella lo zio Citrus, mi sono scaricato le slides e ... |
17-12-2003 21:16 |
|
|
supernova |
Mad For It
Registered: May 2003
Posts: 403 (0.05 al dì)
Location: Milan, London
Corso: Digital Comunication
Anno: I Don't Know, Not Yet.
Time Online: 3 Days, 4:56:55 [...]
Status: Offline
Edit | Report | IP: Logged |
Bella lo zio Citrus, mi sono scaricato le slides e il library. Ti sei sbattuto alla grande e ti ringrazio!!!!
__________________
" So I Start The Revolution From My Bed ". Noel Gallagher
|
17-12-2003 21:16 |
|
|
| |
|
foolish |
sottoposizioni spostate al 9 di gennaio
... |
18-12-2003 20:03 |
|
|
foolish |
bleak
Registered: Oct 2003
Posts: 3585 (0.46 al dì)
Location:
Corso:
Anno:
Time Online: 36 Days, 7:28:56 [...]
Status: Offline
Edit | Report | IP: Logged |
sottoposizioni spostate al 9 di gennaio
buon fine lezioni a tutti voi !!!
__________________
The only way to discover the limits of the possible is to go beyond them into the impossible.
Arthur C. Clarke.
|
18-12-2003 20:03 |
|
|
| |
|
All times are GMT. The time now is 10:18. |
|
|
|
|
|
|
|
| |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|