Hogyan kell Javában egy olyan random számot generálni ami -100 és +100 között van?
Pl:
(Math.round(Math.random()*90)+1);
// egy random számot generálunk 1 és 90 között//
Sokat próbálkoztam de mindig mínusz jött ki.
No, hát a fenti kóddal le tudsz generálni 1 és 90 között számokat.
A kód így néz ki (egyszerűsítve):
random*90+1
Nyilván a triviális próbálkozás az az lenne, hogy:
random*100-100
De ez nem a kívánt eredmény lesz. Miért? Mert a random önmagában egy 0..1 közötti számot generál. Ha megszorzod X-el, akkor lesz belőle egy 0..X közötti szám. (Esetünkben 0..100, amiből ha kivonsz százat, pont negatív számokat fogsz kapni.)
Tehát a fenti példában a 90 nem a felső határ, hanem a variációk száma, a tartomány hossza. :)
Tartomány hossza? -> A kívánt tartományunk a -100..100, aminek a hossza 200!
Innen a megoldás:
random*200-100
Tanulság: érdemes elolvasni és végiggondolni a használt függvények működését! :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!