-
임의의 정수 만들기 - Math.random( ), Scanner로 입력받아서 for문을 통해 랜덤으로 숫자 출력해보기Java/조건문 & 반복문 2020. 10. 22. 18:21
임의의 수 - 난수
난수를 얻기 위해서는 Math.random( )을 사용해야 된다. 이 메서드는 0.0 ~ 1.0 사이 범위에 속하는 하나의 double 값을 반환한다. 0.0은 범위에 포함되고 1.0은 범위에 포함되지 않는다.
0.0 <= Math.random( ) < 1.0
만일 1과 7사이의 정수를 구하기 원한다면, 아래와 같은 과정으로 난수를 구하는 식을 얻을 수 있다.
1. 각 변에 7을 곱한다.
0.0 * 7 <= Math.random( ) * 7 < 1.0 * 7
0.0 <= Math.random( ) * 7 < 7.0
2. 각 변을 int형으로 변환한다.
(int) 0.0 <= (int) ( Math.random( ) * 7 ) < (int) 7.0
0 <= (int) ( Math.random( ) * 7 ) < 7
3. 각 변에 1을 더한다.
0 + 1 <= (int) ( Math.random( ) * 7 ) + 1 < 7 + 1
1 <= (int) ( Math.random( ) * 7 ) + 1 < 8
위의 코드를 실습을 통해 확인해볼 것이다.
이제 1 ~ 7사이의 정수 중 하나를 얻을 수 있다. 1은 포함되고, 7은 포함되지 않는다.
위의 결과를 보면, 랜덤으로 계속 숫자가 바뀌는 것을 확인할 수 있다.
Math.random( )을 사용했기 때문에 실행할 때 마다 실행결과가 달라진다. 반복문 for를 이용해서 1과 7사이의 임의의 수를 얻어 출력하는 일을 10번 반복하는 코드이다.
위의 코드를 Scanner를 사용해서 입력받은 수만큼 반복문을 통해 반복해서 랜덤으로 숫자를 출력해보도록 할 것이다.
사용자로부터 20이란 수를 입력받았고, 반복문을 20번 돌면서 20개의 랜덤 숫자를 생성하는 코드이다. [참고 도서 Java의 정석_기초편] http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788994492049&orderClick=LEa&Kc=
'Java > 조건문 & 반복문' 카테고리의 다른 글
중첩 for문, 다양한 별 찍기, 삼각형 찍기 (0) 2020.10.23 for문, for문 예제 (0) 2020.10.23 switch 문의 제약조건, switch문을 if - else if문으로 변경해보기 (0) 2020.10.22 switch 문, switch문의 제약조건 (0) 2020.10.22 중첩 if문 (0) 2020.10.22