Search

반복문8_문제01_베스킨라빈스31

대분류
STEP03 반복문
소분류
반복문8_문제

영상

문제

package 반복문8_문제; /* [문제] 베스킨라빈스 게임이란, 플레이어 2명이 번갈아가면서 1~3 사이의 숫자를 선택할 수 있고 그 숫자들을 계속 더해서 그 누적 합이 31에 먼저 도달한 쪽이 지는 게임이다. 1. 각 플레이어는 번갈아가면서 1~3을 선택한다. 2. 만약에 이상한 숫자를 입력하면 1~3을 입력할 때까지 계속 자기 차례이다. 3. 각 플레이어가 선택한 숫자는 total 변수에 계속 누적해서 더한다. 4. total이 31이상에 도달하면 승리자를 출력한다. */ public class 반복문8_문제01_베스킨라빈스31_문제 { public static void main(String[] args) { } }
Java
복사

해설

package 반복문8_문제; import java.util.Scanner; /* [문제] 베스킨라빈스 게임이란, 플레이어 2명이 번갈아가면서 1~3 사이의 숫자를 선택할 수 있고 그 숫자들을 계속 더해서 그 누적 합이 31에 먼저 도달한 쪽이 지는 게임이다. 1. 각 플레이어는 번갈아가면서 1~3을 선택한다. 2. 만약에 이상한 숫자를 입력하면 1~3을 입력할 때까지 계속 자기 차례이다. 3. 각 플레이어가 선택한 숫자는 total 변수에 계속 누적해서 더한다. 4. total이 31이상에 도달하면 승리자를 출력한다. */ public class 반복문8_문제01_베스킨라빈스31_정답 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); boolean turn = true; // p1차례(true), p2차례(false) int exitNum = 31; int total = 0; while(true) { System.out.println("total = " + total); if(turn) { System.out.print("[p1]차례 : "); int p1 = scan.nextInt(); if(1 <= p1 && p1 <= 3) { total += p1; turn = false; } else { System.out.println("[메세지]1~3 사이의 숫자 입력!"); } } else { System.out.print("[p2]차례 : "); int p2 = scan.nextInt(); if(1 <= p2 && p2 <= 3) { total += p2; turn = true; } else { System.out.println("[메세지]1~3 사이의 숫자 입력!"); } } if(total >= exitNum) { if(turn) { System.out.println("[p1]승리"); } else { System.out.println("[p2]승리"); } System.out.println("게임을 종료합니다."); break; } } scan.close(); } }
Java
복사