*alza la mano all'Hermione Granger* :-p
Allora, usando Math.random() viene restituito un numero compreso fra 0 e 0.99999999999999... (periodico, bhe, lo avevi capito).
Quindi se fai il cast a int con (int) o usando Integer.valueOf() ottieni sempre zero.
Il segreto é moltiplicare il risultato per il numero massimo più uno.
Es, voglio simulare un dado -->
int lancio = Integer.valueOf(Math.random()*7);
Uso 7 perché il numero massimo di base é 0.999... e Integer.valueOf() tronca i bit quindi arrotonda per difetto.
La versione con il cast é
int lancio = (int) (Math.random()*7);
Spero di aver azzeccato il problema perché dal mio caro 5230 non posso leggere il programma ;-)
Edit: adesso ho visto l'immagine (anche se non leggo bene perché lo schermo é piccolo): per i primi tempi cerca di evitare l'uso di netbeans o altri ide pesanti. Per imparare te ne consiglio uno che evidenzia la sintassi (gedit o notepad++) o al massimo uno pensato proprio per l'apprendimento come eje
Ultima modifica effettuata da Guglielmoqwerty il 18/08/2013 alle 10:55 |