문제
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님 승리
프로그램 종료
// 파일명 : ./Chapter07/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 }
}
실행 순서 확인