본문 바로가기
Programming Study/명품자바프로그래밍

[명품자바프로그래밍] 2장 Open Challenge

by 푸고배 2017. 7. 7.

<가위바위보 게임>

 

두 사람이 하는 가위바위보 게임을 만들어보자. 두 사람의 이름은 '철수'와 '영희'이다. 먼저 "철수"의 이름을 출력하고 "가위", "바위", "보" 중 하나를 문자열로 입력받는다. 그리고 "영희"에 대해서 마찬가지 방법으로 입력받는다. 두 사람으로부터 각각 문자열을 입력받은 후 누가 이겼는지 판별하여 승자를 출력한다.

 

<소스코드> 

import java.util.Scanner;

public class Open_Challenge {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int x = -1; // x가 2이면 철수 승, 1이면 무승부, 0이면 영희 승
		System.out.println("가위 바위 보 게임입니다. 가위, 바위, 보 중에서 입력하세요");
		Scanner sd = new Scanner(System.in);
		System.out.print("철수 >> ");
		String ch = sd.next();
		System.out.print("영희 >> ");
		String young = sd.next();
		if(ch.equals("가위")){
			if(young.equals("가위")){
				x=1;
			} else if(young.equals("바위")){
				x=0;
			} else if(young.equals("보")){
				x=2;
			} else{
				x=-1;
			}
		} else if(ch.equals("바위")){
			if(young.equals("가위")){
				x=2;
			} else if(young.equals("바위")){
				x=1;
			} else if(young.equals("보")){
				x=0;
			} else{
				x=-1;
			}
		} else if(ch.equals("보")){
			if(young.equals("가위")){
				x=0;
			} else if(young.equals("바위")){
				x=2;
			} else if(young.equals("보")){
				x=1;
			} else{
				x=-1;
			}
		} else{
			x=-1;
		}
		if(x==0){
			System.out.println("영희가 이겼습니다.");
		} else if(x==1){
			System.out.println("비겼습니다.");
		} else if(x==2){
			System.out.println("철수가 이겼습니다.");
			System.out.println(x);
		} else{
			
		}
	}
}

 

if(str == "가위"); // X

 

if(str.equals("가위"); // 문자열 사이의 비교는 equals()라는 함수 이용

1. x==2 철수 승, x==1 무승부, x==0 영희 승, x=-1로 초기화

 

2. 철수와 영희의 상태 입력 받기

 

3. 경우에 따라서 if문을 이용해 승패 부여

 

4. 잘못된 문자열 입력 시 예외 처리

반응형

댓글