명품 자바 프로그래밍

명품 자바 프로그래밍 159P 3장 오픈챌린지 카드 번호 맞추기 게임

렛쓰기릿 2023. 9. 24. 21:26
import java.util.Scanner;
import java.util.Random;

public class Hello {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		// 정답을 맞춰서 내부의 중첩 while문에서 빠져나온 뒤 n을 입력하면 이 while문이 종료됨. 
		while (true) {	 
			int count = 1;
			int lower = 0;
			int upper = 99;
			
			Random r = new Random();
			int RandNum = r.nextInt(100);	// 0~99 랜덤정수 생성 : RandNum
			System.out.println("수를 결정하였습니다. 맞추어 보세요.");
			
			while (true) {		// 추측한 값을 입력하고, 값을 맞출 때까지 반복
				System.out.println(lower + "-" + upper);
				System.out.print(count + " >> ");
				int guess = scanner.nextInt();
				
				if (guess == RandNum) {
					System.out.println("맞았습니다.");
					break; }
				else if (guess < RandNum) {
					System.out.println("더 높게");
					lower = guess;	 
					count++; }
				else {
					System.out.println("더 낮게");
					upper = guess; 
					count++; }
			}
		
			// 다시 할건지 y/n입력받기 
			System.out.print("다시하시겠습니까? (y/n) >> ");
			String text = scanner.next();
			if (text.equals("n"))
				break;
		}
	scanner.close();
	}
}