티스토리 뷰
안드로이드 어플을 만드는도중 rand라는 것이 하나 필요했습니다.
이는 "드림나래"의 히든모드와 비슷한 건데요.
랜덤의 숫자를 얻을수 있습니다.
자바에서 랜덤숫자를 구하기 위해서는 Math.random();을 사용하면 됩니다.
이 놈은 특이하게도 다른 언어와 달리 int형이 아닌 double형으로 반환합니다.
그리고 반환하는 값이 0.0에서 1.0사이입니다.
0.0 <= Math.random() < 1.0
그렇다면, 어떻게 정수를 얻을수 있을까요?
int로 형변환을 하면 됩니다.
아래 순서를 생각하면 됩니다.
만약 1~10사이의 랜덤 정수를 구하기를 원한다면,
(1) 각 변에 10을 곱합니다
0.0 <= Math.random() * 10 < 10.0
(2) 각 변을 int로 형변환 합니다
0 <= (int)Math.random() *10 <10
(3) 각 변에 1을 더합니다
1 <= (int)Math.random() *10 +1 < 11
이렇게 되면 원하는 대로 1부터 10까지의 정수가 반환됩니다.
만약 n까지의 정수를 구하려면 n을 곱하면 됩니다.
자바 식으로 세우자면,
double rand = Math.random();
rand = rand * 10;
int num = (int)rand;
num++;
간단히 줄여보면
int num= ((int)(Math.random() * 10));
num++;
이렇게 하면 작동하지 않을까요??ㅎㅎ
아직 테스트는 안해봤습니다
작동하는군요. ㅎㅎ
import java.util.Random;
를 해야 합니다.
출처 : http://aychoi.tistory.com/8
여기가 가장 명쾌하더군요. ㅎㅎ
'Programming > Java' 카테고리의 다른 글
완성도 높은 무료 Java 학습 어플리케이션, Learn Java (0) | 2016.08.20 |
---|---|
[Java] HTML 태그(Tag) 삭제하기 (2) | 2014.02.15 |
값을 반환하는 메소드 (0) | 2013.09.07 |
변수의 스코프란? (0) | 2013.08.04 |
할인률과 할인된 가격을 구하는 JAVA 프로그램 (1) | 2013.05.12 |
메소드, 우리가 아는것과 모르는것 (0) | 2013.05.03 |
총정리 / 루트와 String (0) | 2013.03.13 |
무한루프(無限Loop)와 그 유용성에 대해 (0) | 2013.03.08 |
- Total
- Today
- Yesterday
- String Name = Miru(itmir913);
- String Mail = itmir913@gmail.com;
- String github = https://github.com/itmir913;