Part11 - random

uglyduck.dev·2020년 9월 27일
0

예제로 알아보기 👀

목록 보기
11/22
post-thumbnail

Ex01_Random

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);
		
	}

}

Ex02_Random

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 ? "대박" : "꽝");
		
	}

}
profile
시행착오, 문제해결 그 어디 즈음에.

0개의 댓글