| Autore |
Discussione  |
|
|
lodrago
Senior Member
   

153 Messaggi |
Inserito il - 19/12/2008 : 20:14:02
|
salve a tutti, non avendo trovato una sezione dove esporre il mio problema ho scritto qui. allora sono alle prime armi con l'utilizzo di java. il prof. ci ha assegnato un'esercizio, l'ho svolto solo che eclipse quando devo visualizzare una varibile contenente un testo(dichiarata int citta1;) quando scrivo: System.out.println("la citta maggiormete popolata è:" +citta1); li mi da l'errore che dice: The local variable citta3 may not have been initialized
cosa devo fare per farla visualizzare^? grazie mille se non vi è chiaro scrivete pure.
|
|
|
ori
Moderatore
    

Città: Verona
2043 Messaggi |
Inserito il - 19/12/2008 : 21:15:05
|
Il compilatore ti segnala che tra il punto in cui dichiari citta1 e dove la usi nella println, non e` garantito che tale a variabile venga assegnato un valore (ad esempio, hai un ramo di un if che assegna un valore mentre l'altro no).
Soluzione: controllare di non aver dimenticato qualche assegnamento nei vari rami degli if (o dei cicli for/while) oppure, quando dichiari citta1, assegni anche un valore (ad esempio, null o la prima citta` dell'elenco, vista la stringa che mandi in output). |
 |
|
|
lodrago
Senior Member
   

153 Messaggi |
Inserito il - 19/12/2008 : 22:02:17
|
Giusto!!! io all'if non ho utilizzato quella variabile ma delle altre che servivano per compilare una condizione e nell'istruzione ho inserito la variabile del nome della città. scusami ma non ho capito la soluzione... Io ho chiesto in input di compilare la variabile. potresti essere più chiaro, non ho capito cosa devo fare per risolvere il problema PS scusa la mia ignoranza grazie mille |
Modificato da - lodrago in data 19/12/2008 22:05:14 |
 |
|
|
ori
Moderatore
    

Città: Verona
2043 Messaggi |
Inserito il - 20/12/2008 : 20:52:04
|
La situazione e` la seguente: java prevede che prima di usare il valore di una variabile, a questa deve essere stato assegnato un valore.
Se questo non accade, ti viene riportato un messaggio d'errore in fase di compilazione.
Il modo piu` semplice per ovviare a questo problema e` sostituire l'istruzione String citta1; con l'istruzione String citta1 = null;
|
 |
|
|
lodrago
Senior Member
   

153 Messaggi |
Inserito il - 21/12/2008 : 23:16:52
|
| scusa ho provato ma niente. posso postarti il codice del programma e vedi personalmente dov'è l'errore da me commesso? |
 |
|
|
ori
Moderatore
    

Città: Verona
2043 Messaggi |
Inserito il - 22/12/2008 : 09:19:55
|
| Se non e` troppo lungo, posta pure... Altrimenti segui lo stesso procedimento dei log. |
 |
|
|
lodrago
Senior Member
   

153 Messaggi |
Inserito il - 22/12/2008 : 10:45:18
|
ok grazie.
htt*://freefilehosting.net/download/4380a l'errore è alla fine, le parole evidenziate in rosso.
grazie 1000 |
 |
|
|
ori
Moderatore
    

Città: Verona
2043 Messaggi |
Inserito il - 22/12/2008 : 11:01:57
|
Ci sono molte cose che non vanno...
Andiamo con ordine: - dichiari 5 variabili citta1, ..., citta5 di tipo intero, non le inizializzi ma le usi nei println - ti fai dare dall'utente il nome delle varie citta` ma lo sovrascrivi con quello successivo... che non usi - esegui piu` volte l'operazione Double.valueOf(legginumero).doubleValue() che non e` l'ottimale - numAbitantiX sono dichiarate come Double. C'e` un motivo per usare double e non int? - il tuo programma non e` versatile (ma dipende dalle specifiche ricevute e da quanto conosci di java): potresti renderlo compatibile con un qualsiasi numero di citta`.
Senza sapere bene le specifiche, io farei cosi`: - le variabili citta1, ..., citta5 le trasformi da int a String e rimpiazzi lettocitta=tastiera.readLine(); con cittaX=tastiera.readLine(); dove al posto di X metti il numero giusto - rimpiazzi Double.valueOf(legginumero).doubleValue() con Double.parseDouble(legginumero)
Per rendere il programma compatibile con qualsiasi numero di citta`, usi array, cicli for di caricamento e analisi dei dati. Il tutto dimensionato dopo aver chiesto all'utente quante citta` servono. |
 |
|
|
lodrago
Senior Member
   

153 Messaggi |
Inserito il - 23/12/2008 : 10:42:08
|
grazie 1000, ori
ho seguito i tuoi suggerimenti, il programma funziona e come hai detto, ho tilizzato l'array che lo rende migliore.
grazie del tempo dedicatomi e buone feste! Arrivederci. |
 |
|
|
ori
Moderatore
    

Città: Verona
2043 Messaggi |
Inserito il - 23/12/2008 : 11:29:49
|
Mi faresti vedere il codice che hai ora?
Ciao e buone feste anche a te |
 |
|
| |
Discussione  |
|