![]() |
Pages (8): « 1 2 [3] 4 5 6 7 » ... 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 Artanis
...Oppure bisogna usare l'oggetto list (Che non conosco perchè ho saltato la lezione dedicata)?
Grazie, cercherò subito!
P.S. Come mai il primo progettino era uno scherzo da un'oretta, mentre questo è così sproporzionato? O è soltanto il primo impatto e poi il progetto fila liscio?
![]()
__________________
Artanis
http://artanis.myblog.it/
secondo me oltre al nome, alla nuova città devi passare la mappa in cui la inserisci, da cui poi il costruttore della nuova città andrà a prendere i dati necessari a costruire la lista distanze della nuova città.
o sto dicendo boiate senza senso? 
__________________
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
Scusate ma dato che il programma deve leggere i dati delle città e delle distanze da un file devo usare uno stream?
Originally posted by Diuzza
Scusate ma dato che il programma deve leggere i dati delle città e delle distanze da un file devo usare uno stream?
Lo stavo guardando anche io. Dice che la maggior parte delle classi implementano l'interfaccia ma a quanto ho visto string no. e quindi? come faccio ad utilizzarlo
Allora se ho capito bene la mappa dovrebbe essere una struttura dinamica (io ho usato un arrayList) contenente tot oggetti di tipo città (e ogni città ha come campi il nome e le distanze).
Quindi restituire un iterator sull'insieme di città presenti nella mappa significa semplicemente far restituire alla funzione elencaCittà "mappa.iterator()"?? è così banale?
Si, se tu hai fatto così sì
Io ho fatto diversamente ma ho un quesito:
ArreyList implementa l'interfaccia iterator?
java.util
Class ArrayList
Methods inherited from interface java.util.List
containsAll, equals, hashCode, iterator, listIterator, listIterator, remove, removeAll, retainAll, subList
![]()
Ragazzi, ma nel costruttore di Città, oltre alla stringa per il nome, gli si deve passare un array di interi o un arrayList di Integer? In entrambi i casi, nel costruttore di città non dobbiamo preoccuparci di cosa contiene, ci penserà l'utente che usa l'oggetto Citta a inserire i dati correttamente, giusto?
__________________
Artanis
http://artanis.myblog.it/
Il prof ha detto che la classe città viene costruita liberamente da parte dell'utente.
Ho una domanda.
Se ho una classe publica posso accedere direttamente ai suoi campi da qualunque classe vero?
Perchè se ho un arraylist ciao= new arrayList(), per prendere un oggetto in una determinata posizione devo fare ciao.get(posizione)
e se ad esempio al'interno dell'arrayList ho una frazione per accedere al numeratore io farei:
(Frazione(ciao.get(posizione))).num
Perchè il risultato del get è di tipo object.
Ma non va...
Ragazzi, ho un altro dubbio. Stavo facendo delle prove per la creazione di un file mappa e sono riuscito a fare in modo di salvare direttamente un oggetto ArrayList per poi ricaricarlo facilmente dal file. Il problema è che aprendo il file mappa.txt non c'è più il testo semplice "AG 0 32 38" ma gli oggetti che ho effettivamente salvato.
È obbligatorio che la mappa sia, diciamo, leggibile anche aprendolo con il notepad o è importante solo che sia leggibile (e scrivibile) all'interno del programma?
__________________
Artanis
http://artanis.myblog.it/
rispondo a molti vostri dubbi...
per Diuzza:
il metodo get(int x) restituisce un oggetto,quindi per far si di renderlo compatibile devi fare un cast forzata
List listadint = new ArrayList();
........
for(int pos = 0;pos < listadint.size();pos++)
Integer i = (Integer)listadint.get(pos);
supposto vero che l'oggetto estratto dal metodo get sia un'istanza di Integer.
per accedere invece ad una variabile all'interno di un oggetto, consiglio di usare i metodi implementati dalla classe:
ad esempio nella classe Frazione.....
int num = (Frazione)lista.get(pos).getNumeratore();

per Artanis....
meglio salvare su un file di testo sotto forma di stringa.
ad esempio il metodo salva carichera il testo da salvare sotto forma di stringa e tramite i metodi di FileOutputStream (vedi il metodo print(String testo), salvi su file.
![]()
per il costruttore Citta si possono scegliere diverse strade:
passargli un ArrayList e la sigla sotto forma di stringa, oppure un array di Integer (Integer[]..) e la solita sigla (nome citta) oppure un array di interi (int[]) oppure una Citta ....
sei libero di scegliere ciò che vuoi....
ciaoz...
PS: un saluto a Simeon e a Jakoposki.... (ma che fine ha fatto IanStillo ?)
ah dimeticavo ecco un esempio di esecuzione del progetto:
C:\j2sdk1.4.1_02\prog\prog2>java testCitta
Inserisci nome da assegnare alla mappa: xxxxxx
Inserisci il nome del file da caricare: mappa.txt
Ecco la mappa creata:
AG 0 10 20 40 40 60 10 60 30
BO 10 0 40 20 50 90 20 40 90
CH 20 40 0 10 20 50 10 70 80
FI 40 20 10 0 10 30 70 30 30
GE 40 50 20 10 0 40 70 30 90
PR 60 90 50 30 40 0 50 20 10
RT 10 20 10 70 70 50 0 60 50
SI 60 40 70 30 30 20 60 0 10
TR 30 90 80 30 90 10 50 10 0
Inserisci nome citta' da aggiungere alla mappa: MI
Distanza da AG: 20
Distanza da BO: 30
Distanza da CH: 10
Distanza da FI: 15
Distanza da GE: 35
Distanza da PR: 80
Distanza da RT: 50
Distanza da SI: 30
Distanza da TR: 20
............
Inserisci citta' da ricercare nel tour: MI
Nome citta: MI
Distanze: 20 30 10 15 35 80 50 30 20 0
Calcola distanza tra due citta'
Inserisci citta'1: MI
Inserisci citta'2: CH
La distanza tra MI e CH e' di 10
Inserisci il nome della citta' da cui iniziare il tour: CH
CH-RT-PR-AG-SI-FI-BO-TR-MI-GE-CH
Lunghezza totale del tour: 395
Nome della citta' che ha la somma delle distanze dalle altre citta'
minore della somma delle distanze di ogni altra citta': MI
Nome della citta' che ha la somma delle distanze dalle altre citta'
maggiore della somma delle distanze di ogni altra citta': AG
AG 0 10 20 40 40 60 10 60 30 20
BO 10 0 40 20 50 90 20 40 90 30
CH 20 40 0 10 20 50 10 70 80 10
FI 40 20 10 0 10 30 70 30 30 15
GE 40 50 20 10 0 40 70 30 90 35
PR 60 90 50 30 40 0 50 20 10 80
RT 10 20 10 70 70 50 0 60 50 50
SI 60 40 70 30 30 20 60 0 10 30
TR 30 90 80 30 90 10 50 10 0 20
MI 20 30 10 15 35 80 50 30 20 0
Inserisci il nome del file per salvare: test.txt

ciao di nuovo
| All times are GMT. The time now is 04:51. | Pages (8): « 1 2 [3] 4 5 6 7 » ... Last » Show all 108 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.