Forum » Programiranje » Simulacija metanja kocke - Java
Simulacija metanja kocke - Java
Luka91 ::
Imam nalogo da z uporabo generatorja nakjučnih števil simuliram metanje kocke in izračunam koliko šstic, petic, trojk, dvojk in enk je bilo pri 200 metih.
Rešitev je taka:
Resitev
Zanima me kako lahko iz Math.random(), ki generira naključna realna števila nastane naravno število. Če kdo razume kako je nastala rešitev naj mi jo prosim razloži.
Rešitev je taka:
Resitev
Zanima me kako lahko iz Math.random(), ki generira naključna realna števila nastane naravno število. Če kdo razume kako je nastala rešitev naj mi jo prosim razloži.
c00L3r ::
Math.random() vrne števila med 0 in 1. 0 je vključeno, 1 pa ni.
Ti pa rabiš cela števila 1, 2, 3, 4, 5 in 6.
Zato moraš vrednosti, ki jo vrne metoda random pomnožit z 6. Ker pa 1 ni zajeta, je tako največje možno število po množenju 0,99999*6 = 5,999999. Najmanjše možno je seveda 0, ker 0*6=0. Zato prišteješ vsem številom 1. Zdaj imaš generator realnih števil z razponom 1 do 6,99999. Pretvorba v celo število z (int), pa če se ne motim odreže decimalke in vzame samo celoštevilski del. Tako dobiš na koncu možne rezultate 1, 2, 3, 4, 5 in 6.
Ti pa rabiš cela števila 1, 2, 3, 4, 5 in 6.
Zato moraš vrednosti, ki jo vrne metoda random pomnožit z 6. Ker pa 1 ni zajeta, je tako največje možno število po množenju 0,99999*6 = 5,999999. Najmanjše možno je seveda 0, ker 0*6=0. Zato prišteješ vsem številom 1. Zdaj imaš generator realnih števil z razponom 1 do 6,99999. Pretvorba v celo število z (int), pa če se ne motim odreže decimalke in vzame samo celoštevilski del. Tako dobiš na koncu možne rezultate 1, 2, 3, 4, 5 in 6.
Karlos ::
Da se izogneš pretvarjanju lahko uporabiš
Random r = new Random(); int rand = r.nextInt(6)+1;
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java - DN] Naključna številaOddelek: Šola | 1355 (884) | nyler |
» | java pomočOddelek: Programiranje | 1965 (1357) | kr?en |
» | JAVA - Math.random, kako določit interval?Oddelek: Programiranje | 5164 (2820) | Sergio |
» | java in deležiOddelek: Programiranje | 1152 (999) | phyro |
» | JavaScript naloge za faks (ustni izpit)Oddelek: Šola | 2366 (1906) | Lumix |