티스토리 뷰

문제 내용

가위(1), 바위(2), 보(3) 게임. 사용자1, 사용자2가 임의의 수를 제시한 경우 승자를 판단해서 출력하는 코드 작성.

가위(1), 바위(2) -> 바위(2)
바위(2), 보(3) -> 보(3)
가위(1), 보(3) -> 가위(1)


소스 코드

package com.test;

public class Sample005 {

	public static void main(String[] args) {
		// 가위(1), 바위(2), 보(3) 게임
		// 가위(1), 바위(2) -> 바위(2)
		// 바위(2), 보(3) -> 보(3)
		// 보(3), 가위(1) -> 가위(1)
		
		// 무승부, 승, 패
		
		int userA = (int) (Math.random() * 3) + 1;
		int userB = (int) (Math.random() * 3) + 1;
		String result="";

		System.out.println("userA : " + userA);
		System.out.println("userB : " + userB);
		
		if(userA == userB) {
			result = "무승부";
		} else if ((userA % 3) == ((userB + 1) % 3)) {
		    result = "사용자A 승!";
		} else {
		    result = "사용자B 승!";
		}
		System.out.println("결과 : " + result);
	}
}


코드 해설

숫자가 같으면 무승부를 의미한다.

가위(1), 바위(2), 보(3)가 1씩 차이가 나고 숫자가 큰쪽이 이긴다는 것을 이용한다.

단, 가위(1)와 보(3)일 경우는 가위(1)가 이긴다.

이 경우를 해결하기 위해 사용자 한쪽에 +1을 더한다.




콘솔 결과

userA : 1 userB : 3 결과 : userA승




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함