국비교육/국비교육 복습

Day06_random_Test02 : 주사위, 로또 번호, OTP번호, 동전의 결과 (random 라이브러리 활용) (★)

Luver Duck 2022. 8. 7. 01:11

(Q) 다음 랜덤값을 구하여 화면에 출력하세요
1) 주사위 1개를 던진 결과
2) 로또 번호 1개를 추첨한 결과 (1~45)
3) OTP번호 1개를 생성한 결과 (6자리 정수)
4) 동전을 던졌을 때 예사되는 결과 앞 또는 뒤

 

package day06;

import java.util.Random;

public class Day06_random_Test02 {

	public static void main(String[] args) {
		
		Random r = new Random();
		
		// 1. 주사위
		int dice = r.nextInt(6) + 1;
		System.out.println(dice);
		
		// 2. 로또 번호 1개 추첨 (1~45)
		int lotto = r.nextInt(45) + 1;
		System.out.println(lotto);
		
		// 3-1. OTP 번호 생성 (6자리 정수 - 000000 ~ 999999)
		int otpZero = r.nextInt(1000000);
		System.out.println(otpZero);
		
		// 3-2. OTP 번호 생성 (6자리 정수 - 100000 ~ 999999)
		int otp = r.nextInt(900000) + 100000;
		System.out.println(otp);
		
		// 4. 동전 1개를 던졌을 때 결과
		boolean coin = r.nextBoolean();
		if(coin) {
			System.out.println("앞");
		}
		else {
			System.out.println("뒤");
		}
	}
}

 

 

** OTP 번호 문제 (100000 ~ 999999)

- 최소값을 100000으로 해야 하므로 숫자2에 100000 대입

- 최대값을 999999으로 해야 하므로 숫자1에 900000 대입 (0 ~ 899999)

- 최종 결과 : 0 + 100000 < OTP < 899999 + 100000