μ΄λ² ν¬μ€ν μμλ Javaλ‘ λλ€ν μ«μλ₯Ό νλνλ λ°©λ²μ λν΄μ μκ°ν©λλ€.
μλ°μλ Math ν΄λμ€κ° μ‘΄μ¬ν©λλ€.
ν΄λΉ ν΄λμ€μλ λ€μν μνμ μΈ κ³μ°μ μν΄ κΈ°λ³Έμ μΌλ‘ μ 곡ν΄μ£Όλ static λ©μλλ€μ΄ μ¬λ¬κ° μλλ°,
κ·Έ μ€μ νλκ° random() λ©μλμ λλ€.
μ΄ λ©μλλ 0μμ 1μ¬μ΄μ λλ€ν double νμ μ«μλ₯Ό λ°νν©λλ€.
javadoc λ¬Έμμλ μλμ κ°μ΄ μ€λͺ μ΄ λμμμ΅λλ€.
random
public static double random()
Returns a double
value with a positive sign, greater than or equal to 0.0
and less than 1.0
. Returned values are chosen pseudorandomly with (approximately) uniform distribution from that range.
μ¦, 0.0λ³΄λ€ ν¬κ±°λ κ°κ³ 1.0λ³΄λ€ μμ double(μ€μ)ν μ«μλ₯Ό λ°νν©λλ€.
μ΄κ² 0~1 μ¬μ΄μ μλ₯Ό λ°ννλ©΄ μ΄ λ©μλλ₯Ό μ΄μ©ν΄μ μ΄λ»κ² λλ€ν μ«μλ₯Ό μ»μ μ μμκΉμ??
μλ₯Ό λ€μ΄ 0λ³΄λ€ ν¬κ±°λ κ°κ³ 100λ³΄λ€ μμ μλ₯Ό ꡬνκ³ μ νλ€λ©΄ μλμ κ°μ΄ μΈ μ μμ΅λλ€.
int max = 100;
int randomInt = (int) (Math.random() * max);
μ μ½λμμ (int) (Math.random() * max) λΆλΆμ 0 <= κ²°κ³Όκ° < max (100) μ λ²μ λ΄μ κ°μ κ°κ² λ©λλ€.
Math.random()μ μ΅μκ°μ΄ 0μ΄κ³ μ΅λκ°μ΄ 1.0λ³΄λ€ μκΈ° λλ¬Έμ΄μ£ .
μ΄λ²μλ 100μ ν¬ν¨νλλ‘ μ½λλ₯Ό μμ ν΄ λ³΄κ² μ΅λλ€.
int max = 100;
int randomInt = (int) Math.round(Math.random() * max);
Math.round() λ©μλλ₯Ό μ΄μ©νλ©΄ 0<= κ²°κ³Όκ° <= max (100) λ²μ λ΄μ κ°μ μ»μ μ μμ΅λλ€.
νμ§λ§ μ΄λ κ² ν κ²½μ° 0κ³Ό 100μ΄ λμ¬ νλ₯ μ 1~99κ° λμ¬ νλ₯ λ³΄λ€ 50% μ κ² λ©λλ€.
0μ΄ λμ€λ €λ©΄ Math.round()μ κ°μ΄ 0~0.004999...κ° λμμΌ νκ³
100μ΄ λμ€λ €λ©΄ 0.95~0.9999...κ° λμμΌ ν©λλ€.
μ΄ κ²½μ° 0.5%μ νλ₯ μ κ°κ² λ©λλ€.
1μ΄ λμ€λ €λ©΄ 0.005~0.014999..κ° λμ€λ©΄ λκ³ , 2, 3, 4..., 99 κΉμ§λ λͺ¨λ λμΌν νλ₯ μ κ°κ² λ©λλ€.
μ΄ κ²½μ° 1%μ νλ₯ μ κ°κ² λμ£ .
λ°λΌμ κ³ λ₯΄κ² λΆν¬νλ 0~100 μ¬μ΄μ κ°(κ²½κ³ν¬ν¨)μ μ»μΌλ €λ©΄ μ’ λ κ³ λ―Όμ ν΄μΌν©λλ€.
κ·ΈλΌ μ΄λ»κ²ν΄μΌ 0~100 μ¬μ΄μ μ«μλ₯Ό λͺ¨λ λμΌν νλ₯ λ‘ μ»μ μ μμκΉμ??
int max = 100;
int randomInt = (int) (Math.random() * (max + 1));
κ°λ¨ν©λλ€. maxλ₯Ό ν¬ν¨νκ³ μ ν κ²½μ° max + 1μ κ³±ν΄μ£Όλ©΄ λ§μ¬OKμ λλ€.
μ, κ·ΈλΌ μ΅μκ°μ λ²μλ₯Ό μ ν΄μ£Όκ³ μΆμΌλ©΄ μ΄λ»κ² ν΄μΌ ν κΉμ?
int min = 90, max = 100;
int randomInt = (int) (Math.random() * (max + 1 - min)) + min;
μ μ²λΌ ν΄μ£Όμλ©΄ λ©λλ€.
μ¦, λλ€νκ² μ΅λκ°μμ μ΅μκ°μ λΊ λ§νΌμ μ«μλ₯Ό λ§λ λ€μ μ΅μκ°μ λν΄μ£Όλκ±°μ£ .
μ¬κΈ°μλ μ΅λκ° 100μμ 1μ λνκ³ μ΅μκ° 90μ λΉΌμ μ΅μ 0~ μ΅λ 10μ΄ λμ€λλ‘ λ§λ€μμ΅λλ€.
κ±°κΈ°λ€κ° min(90)κ°μ λν΄μ£Όλ©΄ 0+90 ~ 10+90 μ¬μ΄μ μ, μ¦, 90~100 μ¬μ΄μ μλ₯Ό μ»μ μ μκ²λμ£ .
νλνλ λ°λΌκ°λ μ΄λ ΅μ§ μμ£ ?
μ€λλ μ¦κ±°μ΄ μ½λ©νμκΈ° λ°λλλ€~
'π» Programming > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] λ‘λ λ²νΈ μλ μμ±κΈ° λ§λ€κΈ° (0) | 2019.06.17 |
---|---|
[Java] Reversing String Using StringBuilder (StringBuilderλ‘ μ€νΈλ§μ κ±°κΎΈλ‘ λ€μ§κΈ°) (0) | 2019.02.25 |
[Java] μ«μ νλ³νκΈ° (0) | 2019.01.27 |
AWS S3 Security Credentials λ§λ€κΈ° (0) | 2018.08.17 |
AWS S3 λ²ν·μ νμΌ μ λ‘λνκΈ° (μλ°) (0) | 2018.08.17 |