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을 더해주겠다.
처음에는 뭐든 어려운거같다.. 꾸준히 해보는게 좋을듯하다