package com.mywork.ex;
//import java.util.Random;
import java.util.*; //java.util 패키지의 모든 클래스를 import한다.
public class Ex01_Random {
public static void main(String[] args) {
/*
* Random 클래스
* 1. 객체(인스턴스) 생성을 한다.
* 2. 객체(인스턴스)의 메소드 호출을 난수로 발생시킨다.
* 1) nextInt() : Int 형 데이터 범위 내의 난수 발생
* 2) nextDouble() : 0 ~ 0.9999999 (0 이상 1 미만) 범위 내의 난수 발생
*
*/
Random random = new Random();
System.out.println(random.nextInt());
System.out.println(random.nextInt(10)); // 10개 중 하나가 발생(0 ~ 9)
System.out.println(random.nextInt(6)); // 6개 중 하나가 발생(0 ~ 5)
// 1 ~ 6 사이 발생
System.out.println(random.nextInt(6 + 1)); // 6개 중 하나가 발생(1 ~ 6)
System.out.println(random.nextDouble()); // 0 ~ 0.999999
System.out.println(random.nextDouble() * 10); // 0 ~ 0.999999
System.out.println((int)(random.nextDouble() * 10)); // 0 ~ 9 (캐스팅하면 소수점이 없어진다)
// 1 ~ 6 사이 발생
System.out.println((int)(random.nextDouble() * 6) + 1);
}
}
package com.mywork.ex;
public class Ex02_Random {
public static void main(String[] args) {
/*
* Math 클래스
* 1. 객체(인스턴스) 생성이 없다.
* 2. Math.random() 메소드를 이용한다.
* 1) 랜덤 생성 범위 : 0 ~ 0.999999
* 2) 원하는 랜덤 생성 범위
* (int)(Math.random() * n) + a : a 부터 n개의 랜덤이 발생
*/
// 1 ~ 6 사이 랜덤 출력
System.out.println((int)(Math.random() * 6) + 1);
// 확률 처리 (0% ~ 99.999999%)
// 백분율과 숫자의 관계
// 백분율 0% 5% 10% 50% 100%
// 숫자 0 0.05 0.1 0.5 1
// 5%의 확률로 "대박", 나머지 확률로 "꽝"
System.out.println(Math.random() <= 0.05 ? "대박" : "꽝");
}
}