Problema variabili java postato il 04/07/2011 12:16:25 nel forum programmazione, gdrcd e open source e modificato da belphegor il 04/07/2011 12:18:50
Salve a tutti, sto facendo un progetto java per un esame e ho riscontrato un problema ad istanziare alcune variabili.
Il progetto in questione dovrebbe essere un Game Adventure, per chi conosce il genere.
Il progetto è realizzato con Eclipse e sfrutta l'ereditarietà tra classi e l'implementazione di interfacce.
Il problema è che ho creato una classe "Nemico" con un costruttore che prende in ingresso 4 variabili e le inizializza, dopodichè ho creato un'altra classe "Arena" che crea un array di Nemici chiamato "nemici" di una certa lunghezza (lunghezza data da un math.random())e quindi vorrei inizializzare i vari "Nemici" dell'array passandogli delle variabili in ingresso e quindi fare delle operazioni su di essi, ma mi dice che non posso inizializzare e più sotto mi dice che non posso convertire quell'array ad una variabile quando invoco metodi su nemici[i-] (dove i è un int che viene incrementato di volta in volta dal ciclo for, in modo che mi scorra tutto l'array).
Quale può essere il problema?
Sono disponibile a copiare pezzi di codice, dovesse rendersi utile..per il resto frattanto cercherò di risolvere il problema per conto mio (anche perchè il progetto dovrei/vorrei finirlo nel giro di una decina di giorni).
Pagine → 1 2
04/07/2011 12:35:46
Personalmente in Java ci ho lavorato poco e nulla, quindi non sono autorevole, ma dal tipo di errore che ci esponi sembrerebbe che non stai lavorando con la sintassi corretta per gli array di oggetti. Fossi in te andrei a rivedermi bene come si lavora con gli array di oggetti, con esempi e tutto, e guardare come gestiste l'incizzazione nei cicli. In linea di massima comunque, dovresti usare un ciclo while e non un for per un pool di oggetti. Il fatto che conosci a priori il numero di elementi e' abbastanza un caso, puo' andar bene nello specifico, ma pecca un po di metodo, secondo me. Se hai tempo di lavorarci prova a imporre una condizione di uscita dal ciclo (un valore null in uno degli elementi del vettore, per esempio) cosi' il tuo algoritmo gestirà anche un numero variabile di avversari.
04/07/2011 14:05:07
04/07/2011 15:07:59
04/07/2011 15:43:57
Scrivi anche l'errore, magari ci si raccapezza qualcosa. Sicuro che que quattro valori debbano essere double? Cioe', hai mostri con forza 1.495.395.445,67, per intendersi? :D
04/07/2011 15:56:25
04/07/2011 20:29:58
Cioe', il prof vi ha detto di usare il double? :D Curioso. Vediamo un po, non puo' inizializzare quel tipo di dato... Potrebbe essere che non veda il prototipo della classe, ma in quel caso, probabilmente, l'errore sarebbe che il tipo di dato e' sconosciuto. Forse non e' possibile istanziare una classe direttamente in un vettore? Boh ^^. Qui scattano i limiti di non aver mai lavorato in Java. Tanto per per, prova ad istanziare la classe in una variabile d'appoggio e poi assegnarla al vettore.
04/07/2011 21:05:31
04/07/2011 21:43:21
Questo non te lo so dire. A oggetti lavoravo in C++, Quando avevi dichiarato il tuo puntatore richiamavi il new e ce lo assegnavi. Il tutto nel main con l'unica cura di non avere variabili non dichiarate o fuori scope. Ma C++ non e' un vero linguaggio a oggetti, e' piu' ibrido, quindi non ti so dire.
04/07/2011 23:06:10
Ho risolto, grazie lo stesso MrFaber..era come pensavo: non si possono creare oggetti se non con il main method.^^' Ora ho corretto e non dà errori.
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
Celebrando 20 Anni di GDR-Online.com: un grazie di cuore!