IT 면접 족보26

권단비·2023년 2월 2일
0

IT

목록 보기
55/139

1. 아래 가위바위보 프로그램을 짜시오.

-조건 Main 에서 모든 로직을 짜지 말것.
-가위,바위,보에 대한 데이터 멤버를 가진 class 를 기본적으로 만들것\
예) 
class RspPlayer{
    //1.가위 2.바위 3.보
    private int rsp;  
    .....
    .....
    ...
 public void result(RspPlayer player){
     === 승부 결과 출력 로직
 }
}

===========================
가위 바위 보를 입력하세요.
가위
나는:바위 당신은:가위
제가 이겼습니다.
계속 Y :: 중단 N
y
가위 바위 보를 입력하세요.
보
나는:보 당신은:보
비겼습니다
계속 Y :: 중단 N
n
안녕히 가세요

▼정답

import java.util.Scanner;
class RspPlayer {
	int rsp;

	public RspPlayer(int rsp) {
		this.rsp = rsp;
	}

	public int getRsp() {
		return this.rsp;
	}

	public void result(RspPlayer player) {
		System.out.println("나는:" + str() + " 당신은:" + player.str());
		if (getRsp() == player.getRsp()) {
			System.out.println("비겼습니다.");
		} else if ((getRsp() - player.getRsp() == 1) || (getRsp() - player.getRsp() == -2)) {
			System.out.println("당신이 졌습니다.");
		} else if ((getRsp() - player.getRsp() == -1) || (getRsp() - player.getRsp() == 2)) {
			System.out.println("당신이 이겼습니다.");
		}
	}

	public String str() {
		String str = null;
		if (getRsp() == 1) {
			str = "가위";
		} else if (getRsp() == 2) {
			str = "바위";
		} else if (getRsp() == 3) {
			str = "보";
		}
		return str;
	}
}

public class Test40 {
	public static void main(String[] args) {
		boolean run = true;
		while (run) {
			Scanner sc = new Scanner(System.in);
			System.out.print("가위 바위 보를 입력하세요. : ");
			int input = sc.nextInt();

			RspPlayer player = new RspPlayer(input); // 인스턴스 생성
			RspPlayer com = new RspPlayer((int) (Math.random() * 3) + 1); // 인스턴스 생성
			com.result(player);

			System.out.println("계속 y :: 중단 n");

			String yOrN = new String();
			yOrN = sc.next();
			if (yOrN.equals("y") || yOrN.equals("Y")) {
				continue;
			} else {
				System.out.println("안녕히 가세요");
				break;
			}
		}
	}
}
[결과]
가위 바위 보를 입력하세요. : 1
나는:바위 당신은:가위
당신이 졌습니다.
계속 y :: 중단 n
y
가위 바위 보를 입력하세요. : 2
나는:바위 당신은:바위
비겼습니다.
계속 y :: 중단 n
n
안녕히 가세요

0개의 댓글