![]() |
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)
Originally posted by Jacoposki
A voi come va?
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 ?
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.
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
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.
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ò.
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?
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
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/
esiste un array dinamico senza usare gli oggetti? le distanze non so dove metterle visto ke avevo intenzione di usare degli int.
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 ....
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
Originally posted by Jacoposki
mmm un attimo ma 'sto cavolo di ArrayList è ben dinamico, o no???

Non ho capito perchè qualcuno prima diceva di non dichiarare niente di public...![]()
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/
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/
Citta provaCitta = Citta("Palermo");

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.