- Fabietto771
- Ingegneria Informatica - Triennale
- Lunedì, 28 Febbraio 2011
- Subscribe via email
Comment
There are no comments made yet.
non è che potresti mettere online queste versione? perchè di quella del 14 non funziona niente. grazie
ti ho mandato un pvt.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 81
Mi potreste dire qual'è il giro completo dell'applicazione? Mi spiego meglio. Ho il class diagram e i requisiti utente davanti. Bene o male ho capito quello che deve fare il programma e dove andare a mettere mano per risolvere alcuni problemi ma, non essendo potuto venire a tutte le lezioni, non so se c'è un giro "standard" che mi permette di capire se quello che ho fatto va bene, cioè se è quello che chiede il professore.
Guarda il primo appello....li dove c'è scritto Requisito già di esempio guida, è quello che chiede il professore.
Tu hai partecipato al primo appello? Io sto modificando il codice però quando provo a inserire un nuovo prodotto mi dice "ID Esterno prodotto non può essere nullo". Perchè? Come faccio a inserire un nuovo prodotto?
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 82
Mi potete spiegare come si crea il magazzino? A me dà sempre errore.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 83
Mi potreste dire qual'è il giro completo dell'applicazione? Mi spiego meglio. Ho il class diagram e i requisiti utente davanti. Bene o male ho capito quello che deve fare il programma e dove andare a mettere mano per risolvere alcuni problemi ma, non essendo potuto venire a tutte le lezioni, non so se c'è un giro "standard" che mi permette di capire se quello che ho fatto va bene, cioè se è quello che chiede il professore.
Guarda il primo appello....li dove c'è scritto Requisito già di esempio guida, è quello che chiede il professore.
Tu hai partecipato al primo appello? Io sto modificando il codice però quando provo a inserire un nuovo prodotto mi dice "ID Esterno prodotto non può essere nullo". Perchè? Come faccio a inserire un nuovo prodotto?
Sto preparando poo per settembre e ancora non ho messo mani all'esempio guida...
Sto impiccato con i fantomatici progetti di GDC
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 84
ragazzi, chiedo l'aiuto da casa....
ho sviluppato 3 classi thread(per creaAlimento, eroga e deposita) ma se accedo con diversi utenti e faccio delle operazioni, tipo depositare n ferrarelle con uno e poi con un altro non mi somma i depositi, ne mi da messaggio di errore. Qualcuno ha qualche suggerimento?
ps: ho sincronizzato l'utenteCorrente ma niente..devo dichiarare synchronized deposita anche nella classe Portata?
grazie
ho sviluppato 3 classi thread(per creaAlimento, eroga e deposita) ma se accedo con diversi utenti e faccio delle operazioni, tipo depositare n ferrarelle con uno e poi con un altro non mi somma i depositi, ne mi da messaggio di errore. Qualcuno ha qualche suggerimento?
ps: ho sincronizzato l'utenteCorrente ma niente..devo dichiarare synchronized deposita anche nella classe Portata?
grazie
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 85
Ragazzi qualcuno mi può aiutare su come salvare le variabili statiche relative alle portate?
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 86
Ragazzi qualcuno mi può aiutare su come salvare le variabili statiche relative alle portate?
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 87
ragazzi, chiedo l'aiuto da casa....
ho sviluppato 3 classi thread(per creaAlimento, eroga e deposita) ma se accedo con diversi utenti e faccio delle operazioni, tipo depositare n ferrarelle con uno e poi con un altro non mi somma i depositi, ne mi da messaggio di errore. Qualcuno ha qualche suggerimento?
ps: ho sincronizzato l'utenteCorrente ma niente..devo dichiarare synchronized deposita anche nella classe Portata?
grazie
scusa ma tu sei riuscito a sistemare l'accesso con altri utenti? con la visualizzazione come è richiesta, cioè con fornitore che vede solo deposita, cassiere che vede solo eroga ecc?
mi diresti come hai fatto?
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 88
Essendo POO propedeutico a Ing. del Software, tutti quelli che devono dare POO, devono ancora sostenere l'esame di Ing.Software! Considerando il fatto che noi possiamo benissimo studiare due esami in parallelo, ci aspettiamo che nella sessione di recupero di settembre, possiamo usufruire di entrambi gli appelli dei due esami, che a casa mia fanno ben 4 appelli,....due per POO e due per Ing.Software!
Dopo aver tanto reclamato un diritto che ci spettava, scritto in grassetto sulla guida dello studente (cioè quello di poter sostenere entrambi gli appelli di un corso), non potevano più vietarcelo! Già....ma andiamo a vedere le date di questi due esami:
POO: Primo appello: 13 Settembre Aula 3-4 NE 9.00 - 20.00
Secondo appello: 22 Settembre Aula 1-2 PP2 9.00 -20.00
ING SFTWR: Primo appello: 8 settembre Aula 8 NE 9.30
Secondo appello: 22 settembre Aula 8 NE 9.30
Io posso capire che ci siano date coincidenti con esami senza alcun nesso tra loro, ma qui stiamo parlando di due esami in cui uno è propedeutico dell'altro!
Al primo appello, hanno messo Ing.Sftwr PRIMA di POO! Al secondo appello addirittura lo stesso giorno!! :shock:
Morale della favola: Devi dare POO e Ing.Sftwr? Bene, hai solo due prove in tutto! :|
Dopo aver tanto reclamato un diritto che ci spettava, scritto in grassetto sulla guida dello studente (cioè quello di poter sostenere entrambi gli appelli di un corso), non potevano più vietarcelo! Già....ma andiamo a vedere le date di questi due esami:
POO: Primo appello: 13 Settembre Aula 3-4 NE 9.00 - 20.00
Secondo appello: 22 Settembre Aula 1-2 PP2 9.00 -20.00
ING SFTWR: Primo appello: 8 settembre Aula 8 NE 9.30
Secondo appello: 22 settembre Aula 8 NE 9.30
Io posso capire che ci siano date coincidenti con esami senza alcun nesso tra loro, ma qui stiamo parlando di due esami in cui uno è propedeutico dell'altro!
Al primo appello, hanno messo Ing.Sftwr PRIMA di POO! Al secondo appello addirittura lo stesso giorno!! :shock:
Morale della favola: Devi dare POO e Ing.Sftwr? Bene, hai solo due prove in tutto! :|
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 89
non si può VERBALIZZARE prima di aver sostenuto l'esame propedeutico. Sostenerlo puoi senz'altro, dato che nessuno controlla e in ogni caso se hai dubbi penso che spiegando la faccenda al prof. d'ambrogio non ci siano problemi. Lascia perdere cantone che è come parlare al muro
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 90
ragazzi, qualcuno che ha fatto il secondo punto del secondo appello di luglio mi potrebbe dire come ha fatto?
grazie mille
grazie mille
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 91
scusate ragazzi...volevo farvi una domanda che non ci entra niente con POO...qualcuno di voi ha fatto il progetto 13 di IA? sto riscontrando dei problemi e dato che il topic del corso è praticamente deserto, non so più a chi chiedere! scusate ancora!
ops:
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 92
Qualcuno mi aiuterebbe con i thread?
[code type="markup"] public synchronized void deposita(IDEsterno k, int quantita) throws DirittiException, ProdottoException, IDEsternoException, QuantitaException, InterruptedException
{
if (k==null)
{
throw new IDEsternoException("L'identificatore del prodotto deve essere non nullo"
;
}
if (mappaProdotti.get(k.toString())==null)
{
System.out.println("nuovo deposita: mi sto per fermare"
;
wait();
System.out.println("nuovo deposita:sono ripartito"
;
}
if (mappaProdotti.get(k.toString())==null)
{
System.out.println("deposita: sto per lanciare l'ecc"
;
throw new ProdottoException("Prodotti " + k.toString() + " non sono presenti"
;
}
else
{
if (quantita <=0) {
throw new QuantitaException ("La quantita da depositare deve essere positiva\n"
;
}
else
mappaProdotti.get(k.toString()).deposita(quantita);
System.out.println("deposita: sveglio tutti"
;
notifyAll();
}
}[/code]
[code type="markup"]public synchronized void eroga(IDEsterno k, int quantita) throws DirittiException, ProdottoException, IDEsternoException, QuantitaException, GiacenzaInsufficienteException, InterruptedException
{
if (k==null)
{
throw new IDEsternoException("L/identificatore non deve essere nullo\n"
;
}
while (mappaProdotti.get(k.toString())==null)
{
System.out.println("nuovo_eroga: mi sto per fermare"
;
wait();
System.out.println("nuovo_eroga: mi sono svegliato"
;
}
if (mappaProdotti.get(k.toString())==null)
{
System.out.println("eroga: sono prima dell'ecc"
;
throw new ProdottoException("Prodotti " + k.toString() + " non sono presenti\n"
;
}
if (quantita <=0) {
throw new QuantitaException ("La quantita da erogare deve essere positiva\n"
;
}
// if (quantita > mappaProdotti.get(k.toString()).giacenza()) {
// throw new GiacenzaInsufficienteException ("Il disponibile di " + k.toString() + " (" + giacenza(k) + "
" + " è insufficiente (" + quantita +"
\n"
;
// }
while(giacenza(k)<=0){
System.out.println("eroga:giacenza 0: giacenza 0 mi sto per addormentare"
;
wait();
System.out.println("eroga:giacenza 0: mi sono svegliato"
;
}
System.out.println("eroga: sto per erogare"
;
mappaProdotti.get(k.toString()).eroga(quantita);
System.out.println("eroga: mi sto per svegliare"
;
notifyAll();
}[/code]
[code type="markup"]public synchronized void nuovoProdotto(String classeAlimento, IDEsterno k) throws DirittiException, ClasseAlimentareException, ProdottoException, IDEsternoException
{
if (CostantiClassiAlimentari.containsClasseAlimentareFinale (classeAlimento))
{
Portata p;
//Da modificare al piu presto
if (classeAlimento.equals(CostantiClassiAlimentari.Acqua))
p = new Acqua(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.BriccoFrutta))
p = new BriccoFrutta(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Carne))
p = new Carne(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Dolce))
p = new Dolce(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Frutta))
p = new Frutta(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Pesce))
p = new Pesce(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Primo))
p = new Primo(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Soda))
p = new Soda(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Vino))
p = new Vino(k);
else
p = new Altro(k);
mappaProdotti.put(p, k.toString());
System.out.println("nuovo: sveglio tutti"
;
notifyAll();
}
else
throw new ClasseAlimentareException("\nClasse alimentare " + classeAlimento + " errata. "
;
/*
Class nomeClasseObj = Class.forName(classeAlimento);
p= (Portata) nomeClasseObj.newInstance((Object) k);
*/
}[/code]
questi sono i metodi che ho modificato. il problema è che quando nuovo prodotto fa notifyAll() il thread deposita si sveglia, mentre quello eroga resta impiantato la, e non esegue neanche la riga di codice successiva.
[code type="markup"] public synchronized void deposita(IDEsterno k, int quantita) throws DirittiException, ProdottoException, IDEsternoException, QuantitaException, InterruptedException
{
if (k==null)
{
throw new IDEsternoException("L'identificatore del prodotto deve essere non nullo"
}
if (mappaProdotti.get(k.toString())==null)
{
System.out.println("nuovo deposita: mi sto per fermare"
wait();
System.out.println("nuovo deposita:sono ripartito"
}
if (mappaProdotti.get(k.toString())==null)
{
System.out.println("deposita: sto per lanciare l'ecc"
throw new ProdottoException("Prodotti " + k.toString() + " non sono presenti"
}
else
{
if (quantita <=0) {
throw new QuantitaException ("La quantita da depositare deve essere positiva\n"
}
else
mappaProdotti.get(k.toString()).deposita(quantita);
System.out.println("deposita: sveglio tutti"
notifyAll();
}
}[/code]
[code type="markup"]public synchronized void eroga(IDEsterno k, int quantita) throws DirittiException, ProdottoException, IDEsternoException, QuantitaException, GiacenzaInsufficienteException, InterruptedException
{
if (k==null)
{
throw new IDEsternoException("L/identificatore non deve essere nullo\n"
}
while (mappaProdotti.get(k.toString())==null)
{
System.out.println("nuovo_eroga: mi sto per fermare"
wait();
System.out.println("nuovo_eroga: mi sono svegliato"
}
if (mappaProdotti.get(k.toString())==null)
{
System.out.println("eroga: sono prima dell'ecc"
throw new ProdottoException("Prodotti " + k.toString() + " non sono presenti\n"
}
if (quantita <=0) {
throw new QuantitaException ("La quantita da erogare deve essere positiva\n"
}
// if (quantita > mappaProdotti.get(k.toString()).giacenza()) {
// throw new GiacenzaInsufficienteException ("Il disponibile di " + k.toString() + " (" + giacenza(k) + "
// }
while(giacenza(k)<=0){
System.out.println("eroga:giacenza 0: giacenza 0 mi sto per addormentare"
wait();
System.out.println("eroga:giacenza 0: mi sono svegliato"
}
System.out.println("eroga: sto per erogare"
mappaProdotti.get(k.toString()).eroga(quantita);
System.out.println("eroga: mi sto per svegliare"
notifyAll();
}[/code]
[code type="markup"]public synchronized void nuovoProdotto(String classeAlimento, IDEsterno k) throws DirittiException, ClasseAlimentareException, ProdottoException, IDEsternoException
{
if (CostantiClassiAlimentari.containsClasseAlimentareFinale (classeAlimento))
{
Portata p;
//Da modificare al piu presto
if (classeAlimento.equals(CostantiClassiAlimentari.Acqua))
p = new Acqua(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.BriccoFrutta))
p = new BriccoFrutta(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Carne))
p = new Carne(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Dolce))
p = new Dolce(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Frutta))
p = new Frutta(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Pesce))
p = new Pesce(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Primo))
p = new Primo(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Soda))
p = new Soda(k);
else if (classeAlimento.equals(CostantiClassiAlimentari.Vino))
p = new Vino(k);
else
p = new Altro(k);
mappaProdotti.put(p, k.toString());
System.out.println("nuovo: sveglio tutti"
notifyAll();
}
else
throw new ClasseAlimentareException("\nClasse alimentare " + classeAlimento + " errata. "
/*
Class nomeClasseObj = Class.forName(classeAlimento);
p= (Portata) nomeClasseObj.newInstance((Object) k);
*/
}[/code]
questi sono i metodi che ho modificato. il problema è che quando nuovo prodotto fa notifyAll() il thread deposita si sveglia, mentre quello eroga resta impiantato la, e non esegue neanche la riga di codice successiva.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 93
[code type="markup"]// Escludere nel controllore quantita non positiva
public void eroga(int quantita) throws GiacenzaInsufficienteException
{
if (quantita <= giacenza)
{
tBevandeRichieste += quantita;
tBevandeErogate += quantita;
}
else
{
tBevandeRichieste = tBevandeRichieste+quantita-giacenza;
}
super.eroga(quantita);
}[/code]
Ragazzi, per ragioni di lavoro non ho potuto seguire tutte le lezioni di poo, e mi trovo ora a sviluppare l'esempio guida, dato dal prof. Mi sono impuntato sul significato della funzione eroga(...) della classe Bevanda, e vorrei cercare di capire alcune cose:
Il metodo eroga(...) solleva un'Eccezione se la quantità da erogare supera la giacenza! Il che esclude che il codice possa entrare nell'else! D'altro canto, invece, il contenuto dell'else è importante per tenere conto delle Richieste!
E poi che significato avrebbe: tBevandeRichieste = tBevandeRichieste+quantita-giacenza;?? Cioè se io ho 30 cola, e ne voglio erogare 40, per quale motivo dovrei aggiungerne solo 10 al contatore delle BevandeRichieste?!?!
Come avrebbe definito il prof, le BevandeRichieste??
Io, intuitivamente, la modificherei in:
Se (quantita <= giacenza), allora Aumenta di "quantita" i contatori BevandeRichieste e BevandeErogate!
altrimenti, Aumenta di "quantita" il contatore BevandeRichieste, e Aumenta di "giacenza" il contenuto di BevandeErogate!!!!
Considerando che così com'è la funzione eroga() non può andare,(dato che non eroga, se la quantità è maggiore di giacenza), vorrei capire come la vuole il prof!
Grazie in anticipo a chi risponderà!
public void eroga(int quantita) throws GiacenzaInsufficienteException
{
if (quantita <= giacenza)
{
tBevandeRichieste += quantita;
tBevandeErogate += quantita;
}
else
{
tBevandeRichieste = tBevandeRichieste+quantita-giacenza;
}
super.eroga(quantita);
}[/code]
Ragazzi, per ragioni di lavoro non ho potuto seguire tutte le lezioni di poo, e mi trovo ora a sviluppare l'esempio guida, dato dal prof. Mi sono impuntato sul significato della funzione eroga(...) della classe Bevanda, e vorrei cercare di capire alcune cose:
Il metodo eroga(...) solleva un'Eccezione se la quantità da erogare supera la giacenza! Il che esclude che il codice possa entrare nell'else! D'altro canto, invece, il contenuto dell'else è importante per tenere conto delle Richieste!
E poi che significato avrebbe: tBevandeRichieste = tBevandeRichieste+quantita-giacenza;?? Cioè se io ho 30 cola, e ne voglio erogare 40, per quale motivo dovrei aggiungerne solo 10 al contatore delle BevandeRichieste?!?!
Come avrebbe definito il prof, le BevandeRichieste??
Io, intuitivamente, la modificherei in:
Se (quantita <= giacenza), allora Aumenta di "quantita" i contatori BevandeRichieste e BevandeErogate!
altrimenti, Aumenta di "quantita" il contatore BevandeRichieste, e Aumenta di "giacenza" il contenuto di BevandeErogate!!!!
Considerando che così com'è la funzione eroga() non può andare,(dato che non eroga, se la quantità è maggiore di giacenza), vorrei capire come la vuole il prof!
Grazie in anticipo a chi risponderà!
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 94
Il metodo eroga(...) solleva un'Eccezione se la quantità da erogare supera la giacenza! Il che esclude che il codice possa entrare nell'else!
Precisazione: volevo dire che l'Eccezione viene gestita dal Confine, ecco perchè non entra nell'else...
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 95
[code type="markup"]// Escludere nel controllore quantita non positiva
public void eroga(int quantita) throws GiacenzaInsufficienteException
{
if (quantita <= giacenza)
{
tBevandeRichieste += quantita;
tBevandeErogate += quantita;
}
else
{
tBevandeRichieste = tBevandeRichieste+quantita-giacenza;
}
super.eroga(quantita);
}[/code]
Ragazzi, per ragioni di lavoro non ho potuto seguire tutte le lezioni di poo, e mi trovo ora a sviluppare l'esempio guida, dato dal prof. Mi sono impuntato sul significato della funzione eroga(...) della classe Bevanda, e vorrei cercare di capire alcune cose:
Il metodo eroga(...) solleva un'Eccezione se la quantità da erogare supera la giacenza! Il che esclude che il codice possa entrare nell'else! D'altro canto, invece, il contenuto dell'else è importante per tenere conto delle Richieste!
E poi che significato avrebbe: tBevandeRichieste = tBevandeRichieste+quantita-giacenza;?? Cioè se io ho 30 cola, e ne voglio erogare 40, per quale motivo dovrei aggiungerne solo 10 al contatore delle BevandeRichieste?!?!
Come avrebbe definito il prof, le BevandeRichieste??
Io, intuitivamente, la modificherei in:
Se (quantita <= giacenza), allora Aumenta di "quantita" i contatori BevandeRichieste e BevandeErogate!
altrimenti, Aumenta di "quantita" il contatore BevandeRichieste, e Aumenta di "giacenza" il contenuto di BevandeErogate!!!!
Considerando che così com'è la funzione eroga() non può andare,(dato che non eroga, se la quantità è maggiore di giacenza), vorrei capire come la vuole il prof!
Grazie in anticipo a chi risponderà!![]()
Mahh...devo dire che io non ho dato una grossa importanza a ciò che faceva la funzione eroga(int quantita), il professore l'ha implementata così e quello deve fare! Cmq sia, la funzione originale è ovvio che devi modificarla, perchè all'inizio il prof l'ha scritta senza le eccezioni, e poi dopo le ha aggiunte, e di conseguenza devi reimplementarla correttamente, ma immagino che "quello che fa", è quello che il prof ha deciso che faccia.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 96
E poi che significato avrebbe: tBevandeRichieste = tBevandeRichieste+quantita-giacenza;??
in effetti anch'io non ho ben capito il significato di tRichieste = tRichieste+quantita-giacenza; :roll:
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 97
E poi che significato avrebbe: tBevandeRichieste = tBevandeRichieste+quantita-giacenza;??
in effetti anch'io non ho ben capito il significato di tRichieste = tRichieste+quantita-giacenza; :roll:
mi ci avete fatto pensare :mrgreen:
ho mandato una mail al prof....speriamo non sia troppo tardi con queste domande da "prime lezioni"
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 98
qualcuno ha fatto il punto sui thread?? io non riesco a risolvere...
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 99
There are no replies made for this post yet.
Be one of the first to reply to this post!
Be one of the first to reply to this post!
Please login to post a reply
You will need to be logged in to be able to post a reply. Login using the form on the right or register an account if you are new here. Register Here »