JAVA 프로그래밍

문제

A양과 B군이 가위바위보를 선택하면 승패를 출력하는 문제입니다 이를 해결하는 다음 프로그램을 해석하세요 
A양, 가위, 바위, 보 중 하나를 선택하세요: 바위
바위를 냈습니다.
B군, 가위, 바위, 보 중 하나를 선택하세요: 가위
가위를 냈습니다.
A양이 이겼습니다. 

A양, 가위, 바위, 보 중 하나를 선택하세요: 
보를 냈습니다.
B군, 가위, 바위, 보 중 하나를 선택하세요: 가위
가위를 냈습니다.
B군이 이겼습니다. 

A양, 가위, 바위, 보 중 하나를 선택하세요: 바위
바위를 냈습니다.
B군, 가위, 바위, 보 중 하나를 선택하세요: 바위
바위를 냈습니다.
A양과 B군이 비겼습니다. 

알고리즘

프로그램 시작 
   A양 가위바위보 선택
   B군 가위바위보 선택
   가위바위보 승패 출력
      먼저 A양과 B군이 같으면 비김
      A양이 가위이고 B군이 보를 낸 경우 A양 승리
      A양이 바위이고 B군이 가위를 낸 경우 A양 승리
      A양이 보이고 B군이 바위를 낸 경우 A양 승리
      나머지 경우 B군 승리
프로그램 종료

프로그램 코드

	// 파일명 : ./Chapter06/RockPaperScissors.java
	import java.util.Scanner;
		 
	public class RockPaperScissors
	{
		// 프로그램 시작 
1		public static void main( String[] args ) {
			Scanner scan = new Scanner( System.in );
			// A양 가위바위보 선택 
			System.out.print( "A양, 가위, 바위, 보 중 하나를 선택하세요: " );
			String playerA = scan.next();
2			System.out.println( playerA + "를 냈습니다." );
		 
			// B군 가위바위보 선택 
			System.out.print( "B군, 가위, 바위, 보 중 하나를 선택하세요: " );
			String playerB = scan.next();
3			System.out.println( playerB + "를 냈습니다." );
		 
			// 가위바위보 승패 출력 
			// 먼저 A양과 B군이 같으면 비김  
4			if ( playerA.equals( playerB ) ) {
5				System.out.print( "A양과 B군이 비겼습니다." );
			}
			// A양이 가위이고 B군이 보를 낸 경우 A양 승리 
6			else if ( playerA.equals( "가위" ) && playerB.equals( "보" ) )	 {
7				System.out.print( "A양이 이겼습니다." );
			}
			// A양이 바위이고 B군이 가위를 낸 경우 A양 승리 
8			else if ( playerA.equals( "바위" ) && playerB.equals( "가위" ) ) {
9				System.out.print( "A양이 이겼습니다." );
			}
			// A양이 보이고 B군이 바위를 낸 경우 A양 승리 
10			else if ( playerA.equals( "보" ) && playerB.equals( "바위" ) ) {
11				System.out.print( "A양이 이겼습니다." );
			}
			// 나머지 경우 B군 승리  
12			else {
13				System.out.print( "B군이 이겼습니다." );
			}
			scan.close();
		// 프로그램 종료 
14		}
	}

실행 순서

 
 					※ 실행순서 및 메모리상태는 A키(이전) 및 D키(다음)를 눌러도 확인할 수 있습니다