본문 바로가기
프로그래밍/JAVA

자바의 정석 기초 (Math.random() 사용하여 임의의 정수(실수) 만들기 / 난수 )

by ✲ 2020. 6. 22.
반응형

남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 

 

Math.random()

- 0.0 과 1.0 사이의 임의의 double값을 반환 

0.0 <= Math.random() < 1.0    (0.0 ~ 0.9999999....) 

 

Question 1 ~ 3의 정수를 얻고 싶다면 ?

1. 각 변에 3을 곱한다. 

0.0 * 3 <= Math.random() * 3 < 1.0 * 3 

2. 각 변을 int형으로 변환한다. 

(int) 0.0 * 3 <= (int)Math.random() * 3 < (int) 1.0 * 3 

3. 각 변에 1을 더한다. 

(int) 0 + 1 <= (int)(Math.random() * 3 ) +1 < (int) 3 +1 

(int)1 <= (int)(Math.random() *3) +1 < (int) 4  

1 <= x < 4 

 

Question -5~ 5 사이의 난수 20개를 출력하시오. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
public class Ex4_7 {
    public static void main(String args[]) {
        //-5 ~ 5사이의 난수 20개를 출력하시오. 
        //-5,-4,-3,-2,-1,0,1,2,3,4,5
        for(int i = 1; i<=20; i++) {
            
            //System.out.println((int)(Math.random()*11));  //  0<= x <11 , 0 ~ 10 
            System.out.println((int)(Math.random()*11)-5);  //  -5 <= x < 6 , -5 ~ 5 
            
        }
    }
}
 
cs
반응형

댓글