명품 자바 Programming
Chapter3 OpenChallenge
Q :
숨겨진 카드의 수를 맞추는 게임을 만들어보자. 0에서 99까지의 임의의 수를 가진 카드를 한 장 숨기고, 이 카드의 수를 맞추는 게임이다. 아래의 화면과 같이 카드 속의 수가 12인 경우를 보자. 수를 맞추는 사람이 55라고 입력하면 "더 낮게", 다시 11이라고 입력하면 "더 높게"라는 식으로 범위를 좁혀가면서 수를 맞춘다. 게임을 반복하기 위해 y/n을 묻고 n인 경우 종료된다.
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | package chap3ex; import java.util.Random; import java.util.Scanner; public class updown { public static void main(String[] args) { int sel; Scanner in = new Scanner(System.in); while (true) { int min = 0; int max = 99; Random r = new Random(); int k = r.nextInt(100); System.out.print("수를 결정하였습니다. 맞추어 보세요 \n"); for(int count=1;;count++){ System.out.println(min + "-" + max); System.out.print(count+">>"); sel=in.nextInt(); if(k > sel){ System.out.println("더 높게"); min = sel; } else if(k < sel){ System.out.println("더 낮게"); max = sel; } else{ System.out.print("맞았습니다\n다시하시겠습니까?(y/n)"); if (in.next().equals("y")) { break; } else{ System.out.println("프로그램을 종료합니다"); System.exit(0); } } } } } } | cs |
Key Point
1. 게임이 시작될 때마다 min, max의 범위값과 랜덤의 수 k를 초기화한다.
2. 입력한 수와 k 값을 비교한다.
3. 반복문 탈출처리
유용하셨다면 공감 버튼 ↓ 눌러주세요!
728x90
'# Language > Java' 카테고리의 다른 글
Random 클래스를 이용한 임의의 정수 생성 (2) | 2018.07.20 |
---|---|
Scanner를 이용한 입력 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 3장 1번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 2장 8번 (3) | 2018.07.20 |
명품 JAVA 프로그래밍 2장 7번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 2장 6번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 2장 5번 (0) | 2018.07.20 |