.dsy:it. Pages (8): « 1 [2] 3 4 5 6 » ... Last »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=259)
-- [Progetto] "Commesso viaggiatore" (http://www.dsy.it/forum/showthread.php?threadid=16445)


Posted by Simeon on 15-01-2005 16:53:

Originally posted by Jacoposki
A voi come va?


In questo momento sto rileggendo il testo e riguardando le list... Domani forse comincio...


Posted by Simeon on 15-01-2005 18:46:

Ok uhm, ricapitoliamo... Ho le idee un bel po' confuse e sicuramente domani mi ci mettero' , ma in sostanza che bisogna fare ?

A rischio di scrivere un mucchio di ovvieta'/cavolate, espongo un po' quello che ho elucubrato; se mi aiutate a riassumere e sistemare le idee mi fate un enorme, soprattutto a sottolineare qualcosa che non va proprio...

Senza postare codice of course ;)


-definire la classe Citta'

Dove e' definito l'oggetto base che costituisce una mappa, ovvero una citta'... Una citta' dovrebbe avere un nome ed una lista di distanze... Quindi i dati del file mappa.txt dovrebbero essere estrapolati e trattati all'interno di questa classe ( ovvero dal mappa.txt ci estraiamo i dati per costruire tutte le nostre citta' )

-definire una classe che implementi i metodi dell'interfaccia Mappa

ovvero creare una classe ( es : Nomedifantasia ) che implementi l'interfaccia Mappa e quindi ridefinire tutti i metodi di essa in tale classe. Anche qui creiamo un bel Nomedifantasia.java ... Questa rappresentera' l'insieme delle nostre citta' ( che verranno inserite tramite il metodo add )

-definire la classe MappaException

pure questa va definita da sola in un file a parte, tipo MappaException.java ?

-definire la classe CommessoViaggiatore

che sara' la classe che ricevera' l'oggetto Nomedifantasia ( quindi l'oggetto che rappresenta l'insieme delle citta' ) e predisporra' tutti i metodi per calcolare il tour, quindi crearsi un bel CommessoViaggiatore.java ed implementare tutti quei metodi descritti nel pdf (getTour etc...)


Poi non ho capito se queste classi devono risiedere in qualche package oppure tutte nella stessa directory ( quindi non dovrebbero essere public ).

Comunque, alla fine di tutto si dovrebbero avere almeno 4 file giusto ( il prof diceva 3, mi e' venuto il dubbio )?

CommessoViaggiatore.java
Nomedifantasia.java
MappaException.java
Citta.java

E questi dovrebbero essere infilati in un .txt da spedire tramite il form.




Ci siamo ?


Posted by Simeon on 15-01-2005 19:37:

Originally posted by Jacoposki
...


Ecco ho riletto tutti i post ora che cmq mi sono fatto una vaga idea del tutto, anche io ho pensato a qualcosa tipo List di List ( per la precisione arraylist di arraylist ), ma devo ancora ripassarmi bene il funzionamento delle collection in generale...


Posted by Jacoposki on 15-01-2005 20:51:

hai fatto bene a scrivere le ovvietà :)

la struttura in sè non è complicata, ma valeva la pena metterla giù in modo chiaro.

Dubbio sul tipo di List da usare... pensavo a una roba tipo un Set per le città da mettere nella mappa (che non devono essere ripetute) e un ArrayList per le liste di distanze delle singole città (distanze che possono ovviamente ripetersi). Non so se valga la pena fare questa distinzione, però.

Altro dubbio: come si accede a un elemento di una lista? tramite indice come con gli array? Se "distanze" è la lista di distanze di una città, la distanza tra la città in questione e l'i-esima città è contenuta in distanze[i]? E di conseguenza l'i-esima città nella List della mappa (chiamiamola ListaCitta) è contenuta in ListaCitta[i]? E quindi, per come sono fatte le liste, per aggiungere una città in coda a ListaCittà basta fare ListaCitta[ListaCitta.length() + 1] = "nuova città"?

Uffa perchè sul libro non c'è un tubo sulle collections?

__________________
Mai sottovalutare l'ampiezza di banda di una station wagon piena di nastri lanciata a tutta velocità lungo l'autostrada. - Andrew S. Tanenbaum - Reti di Calcolatori


Posted by Simeon on 16-01-2005 10:15:

Originally posted by Jacoposki
hai fatto bene a scrivere le ovvietà :)

la struttura in sè non è complicata, ma valeva la pena metterla giù in modo chiaro.


Pensi che quello che ho scritto sia sommariamente corretto ? Avrei bisogno di sapere se ho scritto qualche boiata grossa :) Il fatto di ritrovarsi con 4 file nella stessa dir alla fine e' giusto ?


Dubbio sul tipo di List da usare... pensavo a una roba tipo un Set per le città da mettere nella mappa (che non devono essere ripetute) e un ArrayList per le liste di distanze delle singole città (distanze che possono ovviamente ripetersi). Non so se valga la pena fare questa distinzione, però.


Uh hai ragione, le citta' non devono ripetersi... Pero' non ricordo bene tutti i metodi associati alle diverse strutture


Altro dubbio: come si accede a un elemento di una lista? tramite indice come con gli array?


Penso di si, o almeno mi pare di aver capito cosi' dall'esempio delle slide della lezione 7...


Se "distanze" è la lista di distanze di una città, la distanza tra la città in questione e l'i-esima città è contenuta in distanze[i]? E di conseguenza l'i-esima città nella List della mappa (chiamiamola ListaCitta) è contenuta in ListaCitta[i]? E quindi, per come sono fatte le liste, per aggiungere una città in coda a ListaCittà basta fare ListaCitta[ListaCitta.length() + 1] = "nuova città"?


Non ti so rispondere bene a queste domande, se non per l'ultima che credo che per aggiungere una citta' si debba utilizzare il metodo add...



Uffa perchè sul libro non c'è un tubo sulle collections?


Io mo guardo... D'altronde il Cesa quel codice della rubrica deve pur averlo preso da qualche parte.



Che panico comunque


Posted by Jacoposki on 16-01-2005 12:00:

beh ma il metodo add dobbiamo anche implementarlo noi, in qualche modo, mi pare...

__________________
Mai sottovalutare l'ampiezza di banda di una station wagon piena di nastri lanciata a tutta velocità lungo l'autostrada. - Andrew S. Tanenbaum - Reti di Calcolatori


Posted by Artanis on 17-01-2005 14:20:

Ragazzi sto avendo alcune difficolta con questo progettino. Tecnicamente non riesco a capire da che parte incominciare...

Cerco di fare un riassunto di quello che ho capito.
Bisogna sviluppare in totale quattro classi.
1) Citta
2) Classe che implemente Mappa
3) MappaException
4) CommessoViaggiatore

Posto questo, penso che sia utile iniziare a creare la classe città. Ora, questa classe deve avere un costruttore che permetta la creazione di un oggetto classe che contiene il nome della città e poi....
e poi? La distanza con le altre città sarebbe la risposta giusta. Ma in che modo? Un array di interi? E che ci faccio?

Proprio sul costruttore non so proprio cosa fare. Fra l'altro si parla di collection e iterator e guarda caso quella lezione l'ho saltata perchè stavo male. Dai lucidi non è che si capisca poi molto, ma anche qui non vedo la connessione fra queste "collection" e quello che devo fare con il costruttore di città.

Insomma, la classe città cosa deve fare?!

Poi, passando alla classe che implementa Mappa... deve essere una classe statica? Come la si collega a commesso viaggiatore?

Quest'ultima classe poi deve essere sviluppata per ultima altrimenti non si riesce a testarla...

Chi mi da una mano?

Grazie

__________________
Artanis

http://artanis.myblog.it/


Posted by tandrea85 on 17-01-2005 15:55:

esiste un array dinamico senza usare gli oggetti? le distanze non so dove metterle visto ke avevo intenzione di usare degli int.


Posted by nfast on 17-01-2005 16:53:

amico mio esistono e come array di int dinamici, solo che per renderli dinamici devi crearti un tuo algoritmo (vedi lezione del grossi sulla costruzione di array con una certa capacita e dimensione ecc....)

io ho subito escluso questa strada, ne ho scelta un'altra molto ma molto più facile.

Ora come ora mi mancano solo 2 metodi da implementare (Mappa.java): distanza (algoritmo) e salva.

poi domani passerò alla classe CommessoViaggiatore che chiuderà in bellezza l'intero progetto, pronto per essere consegnato venerdì sera!!!

le scalette fan sempre bene ;)

ciao uomini e donne ....


Posted by Jacoposki on 17-01-2005 17:51:

mmm un attimo ma 'sto cavolo di ArrayList è ben dinamico, o no???

qui mi sa che mi sfugge qualcosa di basilare...

Comunque: credo sia corretto pensare di partire dalla classe Citta, poi di passare alla classe che implementa Mappa (che farà uso dei metodi di Citta) e di chiudere con la classe CommessoViaggiatore (che farà uso dei metodi della classe che implementa Mappa).

Non ho capito perchè qualcuno prima diceva di non dichiarare niente di public... :?

__________________
Mai sottovalutare l'ampiezza di banda di una station wagon piena di nastri lanciata a tutta velocità lungo l'autostrada. - Andrew S. Tanenbaum - Reti di Calcolatori


Posted by Simeon on 17-01-2005 18:13:

Originally posted by Jacoposki
mmm un attimo ma 'sto cavolo di ArrayList è ben dinamico, o no???


Eh be :)


Non ho capito perchè qualcuno prima diceva di non dichiarare niente di public... :?


Perche se tu hai il tuo elenco di file delle classi nella stessa dir e all'interno dichiari le classi public mi pare che dia dei problemi... Discorso diverso se fai un package...

Ovviamente parlo sono delle classi, i metodi van dichiarati public



Comunque finalmente il mosaico si compone, questo progettino richiede parecchio ragionamento inizialmente per predisporre il tutto, ma poi vien su che e' una maraviglia


Posted by Artanis on 17-01-2005 19:03:

Ragazzi ancora non riesco a capire fisicamente cosa deve fare la classe città. Voglio dire, il suo costruttore prende una stringa per il nome della città e poi... cos'altro bisogna prendere come argomento?

__________________
Artanis

http://artanis.myblog.it/


Posted by Artanis on 17-01-2005 19:12:

Ah un'altra cosa...

Ho creato una classe Citta.java e una di Prova.
La classe citta.java si compila regolarmente, mentre quella di prova (che crea un oggetto citta per prova) dice:
cannot resolve symbol
symbol : method Citta (java.lang.String)
location: class prog.progettino2.CommessoViaggiatore
Citta provaCitta = Citta("Palermo");

Io credevo che le classi nella stessa cartella non avessero bisogno di direttive di importazione...

__________________
Artanis

http://artanis.myblog.it/


Posted by nfast on 17-01-2005 21:09:

Citta provaCitta = Citta("Palermo");


se forse mettessi la famosa parola new forse è meglio :)

Citta provaCitta = new Citta("Palermo");

attento però la stringa che passi al costruttore di Citta deve essere di 2 caratteri....

ciao


Posted by Artanis on 17-01-2005 22:27:

Grazie! Che scemo che sono. Non hai idea quanto tempo ci sono stato su, pensando di aver commesso chi sa quale errore!

Ora non mi resta che capire cos'altro va passato al costruttore di Città oltre al nome della stessa...

Il mio problema è il modo in cui bisogna passargli le distanze con le altre città. Voglio dire, l'utente che userà la classe, sa già le distanze della citta nuova con quelle già memorizzate? Se sì, allora si può inviare un array di interi contenenti le distanze e questo array sarà quindi copiato all'interno del costruttore con un array di pari lunghezza. Però con che ordine si posizioneranno le distanze nell'array? Oppure bisogna usare l'oggetto list (Che non conosco perchè ho saltato la lezione dedicata)?

Grazie ancora a tutti!

__________________
Artanis

http://artanis.myblog.it/


All times are GMT. The time now is 14:03. Pages (8): « 1 [2] 3 4 5 6 » ... Last »
Show all 108 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.