반응형
⚫Math 클래스 : 수학 관련 기능을 제공하는 클래스
🔘Math.random() : 0.0 보다 크거나 같고 1.0보다 작은 실수 난수값을 생성하여 변환하는 메소드
범위: 0.0 <= 난수값 < 1.0
package basic;
//컴퓨터로부터 난수값을 제공받아 출력하는 프로그램 작성
// => 난수값 : 컴퓨터로부터 불규칙적으로 제공되는 숫자값
public class MathRandomApp {
public static void main(String[] args) {
for(int i=1;i<=5;i++) {
System.out.println(i+"번째 실수 난수값 ="+Math.random());
}
System.out.println("===============================================================");
for(int i=1;i<=5;i++) {
//(int)(Math.random()*100) >> 0 <= 난수값 <100 = 0~99
System.out.println(i+"번째 실수 난수값 ="+(int)(Math.random()*100));
}
System.out.println("===============================================================");
for(int i=1;i<=5;i++) {
//(int)(Math.random()*45+1) >> 1 <= 난수값 <46 = 0~45
System.out.println(i+"번째 실수 난수값 ="+((int)(Math.random()*45)+1));
}
System.out.println("===============================================================");
}
}
위 예제 중 세번째 0~45 범위의 난수값을 받을 때, 45를 곱하고 나서 1을 더해주는 이유는
random()메소드를 사용했을 때 범위가 0.0 <= 난수값 < 1.0 이기 때문이다.
1을 더해주지 않으면 범위가 0 <= 난수값 < 45이 되므로, 45까지 범위에 포함시키고 싶다면 1을 더해서
0<=난수값<46이 되도록 만들어줘야 한다.
반응형
'Backend > Java' 카테고리의 다른 글
[Java]배열(Array) - 1차원 배열 (1) | 2023.12.05 |
---|---|
[Java]Scanner 클래스(Console에서 값 입력 받기) (0) | 2023.12.04 |
[Java]다중for문으로 별만들기 (0) | 2023.12.04 |
[Java]다중for문(Multi-for) (0) | 2023.12.04 |
[Java]break문 & continue문 (0) | 2023.11.29 |