본문 바로가기
(혼) (공) (자)

Random

by 만석이 2023. 12. 24.
Random 함수는 뭘까?

랜덤한 수(난수)를 만들어주기 위해 쓴다.

랜덤하게 설정되는 기본값은 0~0.99이다.

그래서 이것을 본인의 입맛대로 만들기위해
하고 더하기를 하는등 고쳐써야한다.

 


예제를보자

int score=0;
score= (int) (math.random()*100+1);

System.out.println("점수는:"+score);

 

0~0.99에서 100을 곱해주니 0~99가된다.

그리고 1을 더해주니 1~100이 되는것이다.

 

그런데 여기서 하나더 알아야하는것이 있다.

 

앞에 (int)가 붙은것이 보인다.

이것은 실수값인 random함수의 값정수로 바꿔준다. 

강제형변환을 하는것이다. 그렇기에 소수점뒤에 있는 숫자는 짤리게된다.

 


이번에는 최소값을 60

                                         최대값을 100 으로 잡고싶다.

 

처음에는 어렵다. 공식을 따라해보자 

 

(최대값 - 최소값)을 곱해주고

+ 1을 해주자.


예제를 보자

int score=0;
score= (int) (math.random()*(최대값-최소값+1));

System.out.println("점수는:"+score);

 

순서대로 보자 

① 0~0.99 를 60~100으로 만들어줘야한다.

 

②최대값이 100 최소값이 60이다. 그래서 40을 빼준다. 그리고 +1을 해준다

    +1안해주면? -> (40을 곱해주면 0~39.6이 되는데 강제형변환시 39가 되어버린다.)

     여기까지 다해주면 랜덤수 범위는 0~40이 된다. 여기까지가 공식 적용범위이다.

 

int score=0;
score= (int) (math.random()*(100-60+1)+60);

System.out.println("점수는:"+score);

 

③그후에는 최대값이 100이 될수있게 맞춰서 더해주면된다. 100을 만들어줘야하니 60을 더해주겠다.

 

 

처음에는 뭐든 어려운거같다.. 꾸준히 해보는게 좋을듯하다 

'(혼) (공) (자)' 카테고리의 다른 글

다중 for문  (0) 2023.12.25
for 반복문  (0) 2023.12.25
switch  (1) 2023.12.24
scanner  (1) 2023.12.23
if문  (1) 2023.12.23