본문 바로가기

IT/Java (자바)

▷ Java: (int) (Math.random()); 출력


"Math.random() 함수는 0.0 <= x < 1.0 사이의 랜덤한 난수를 생성한다."

즉 0.0부터 1.0 사이에 있는 무한개의 실수형 숫자를 출력하게 된다.

그렇다면 이 함수 앞에 (int), 즉 전 장에서 표현했듯이 실수형을 정수형으로 바꾸어주는 명령어를 쓴 다음 코드는 어떻게 출력될까?


System.out.println((int) (Math.random()));

1. 먼저 Math.random() 함수 내에서 아무 실수형의 소수를 출력하는 명령을 수행한 뒤,

2. 앞에 있는 (int) 명령어를 실행하여 0.xxx...형의 실수를 0이라는 정수로 표현하게 된다.

즉 이 함수는 어떤 결과에도 0을 출력하게 되는 결과를 출력한다.



+ 예제 문제:

다음 중 0부터 100까지의 정수를 임의로 생성하는 연산식은 어떤 것인가?

Which of the which of the following expression yields an integer between 0 and 100 inclusive?

A. (int)(Math.random() * 100 +1)

B. (int)(Math.random() * 101)

C. (int)(Math.random() * 100)

D. (int)(Math.random() * 100) + 1