본문 바로가기
study/Java

[Java] 30. 기본 API Exam1 (nextBoolean 함수를 이용하여 사용자1, 사용자2의 난수를 발생하여 3번 연속으로 true가 먼저 나오는 쪽이 승리하도록 프로그램 구현하기)

by 금이패런츠 2022. 3. 28.
728x90
반응형
package chap12;

import java.util.Random;

/*
 * nextBoolean 함수를 이용하여 사용자1, 사용자2의 난수를 발생하여 3번 연속으로 true가 먼저 나오는 쪽이 승리하도록 프로그램 구현하기
 */
public class Exam1 {
	public static void main(String[] args) {
		Random rand1 = new Random();
		rand1.setSeed(System.currentTimeMillis());
		//System.currentTimeMillis()
		//  1970년1월1일 ~ 현재까지의 시간을 밀리초 리턴
		Random rand2 = new Random();
		rand2.setSeed(System.currentTimeMillis()+100);
		int user1 = 0, user2 = 0; //true의 갯수
		while(true) {
			//boolean rand1.nextBoolean()
			if(rand1.nextBoolean()) { //true인 경우
				user1++;
				System.out.print("사용자1 true");
			} else {
				user1 = 0;
				System.out.print("사용자1 false");
			}
			if(rand2.nextBoolean()) { //true인 경우
				user2++;
				System.out.println("\t사용자2 true");
			} else {
				user2 = 0;
				System.out.println("\t사용자2 false");
			}
			if(user1 == 3 || user2 == 3) break;
		}
		if(user1 == 3 && user2 == 3)
			System.out.println("비김");
		else if (user1 ==3)
			System.out.println("\n사용자1 승리");
		else
			System.out.println("\n사용자2 승리");
	}
}
728x90
반응형