Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Random intero
Forum - Java - Random intero

Avatar
Raffaele971 (Normal User)
Newbie


Messaggi: 9
Iscritto: 11/08/2013

Segnala al moderatore
Postato alle 10:31
Domenica, 18/08/2013
Salve ragazzi , ho creato un piccolo programmino per la somma degli elementi di un array. Vorrei che gli elementi dell' array fossero solo di tipo intero, ma purtroppo non so come fare. Infatti sono riuscito solo a convertire la somma degli elementi dell' array in formato int, ma non sono riuscito a convertire i valori casuali degli elementi dell' array da double a int, questo perché sono ancora alle prime armi e non so bene come utilizzare l' oggetto Math.
Chiedo a voi utenti esperti di darmi una mano, grazie in anticipo ;)



Raffaele971 ha allegato un file: 44444.JPG (199752 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
Guglielmoqwerty (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/07/2013

Segnala al moderatore
Postato alle 10:42
Domenica, 18/08/2013
*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
PM Quote
Avatar
Raffaele971 (Normal User)
Newbie


Messaggi: 9
Iscritto: 11/08/2013

Segnala al moderatore
Postato alle 12:52
Domenica, 18/08/2013
Ciao , grazie come sempre per la risposta! :D
Anche io ci avevo provato come dici tu, purtroppo il fatto era che non so perchè l' istruzione mi ritornava sempre un valore pari a zero. Comunque ho copiato l' intero programma in un alto file cambiando(cioè praticamente riscrivendo) l' istruzione per generare interi e il programma ha funzionato :rofl:
ciao :)

PM Quote
Avatar
Raffaele971 (Normal User)
Newbie


Messaggi: 9
Iscritto: 11/08/2013

Segnala al moderatore
Postato alle 12:57
Domenica, 18/08/2013
ah comunque puoi spiegarmi un po più dettagliatamente perchè è meglio cambiare ambiente di siluppo?

PM Quote
Avatar
Guglielmoqwerty (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/07/2013

Segnala al moderatore
Postato alle 14:02
Domenica, 18/08/2013
il codice che ti ho dato non funziona? O.o

Gli IDE sono complicati e quindi oltre a imparare la sintassi devi imparare anche ad utilizzarli. Inoltre mettono, secondo me, molto codice rindondante e ti completano la sintassi impedendoti di imparare bene. In più hanno molti strumenti che a lungo andare potrebbero darti gola come il creatore di GUI =)
É un consiglio che mi diedero all'inizio e ancora adesso uso gedit.

PM Quote
Avatar
Raffaele971 (Normal User)
Newbie


Messaggi: 9
Iscritto: 11/08/2013

Segnala al moderatore
Postato alle 14:10
Domenica, 18/08/2013
Sisi funziona mi sono imbrogliato :k:

PM Quote
Avatar
Guglielmoqwerty (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/07/2013

Segnala al moderatore
Postato alle 14:13
Domenica, 18/08/2013
Bene. Cos'avevi sbagliato? ^^

PM Quote