본문 바로가기
Back/JAVA

[문제] while, scanner, math를 이용한 숫자 맞추기 게임

by 시월해 2021. 3. 2.

math클래스의 random() 함수를 사용하여 컴퓨터로부터 난수를 입력받고, 그 난수가 무엇인지 알아맞춰보는 게임이다.

조건1) Scanner 클래스를 통해 사용자의 키보드로부터 정답을 입력 받는다.

조건2) 입력받은 수에 따라 힌트를 제공한다.

조건3) 맞추는데 사용한 횟수를 기록한다.

import java.util.Scanner;

// 숫자 맞추기 게임

public class Ex30 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("*** 숫자 맞추기 게임 ***");
		
		int num = (int)(Math.random() * 99) + 1;
		
		System.out.println("1~99 사이의 숫자 중에서 하나의 숫자를 맞추세요.");
		
		int count = 0; // 몇번 만에 맞추는 지 카운트하는 변수
		
		int no = 0; //키보드로 입력받은 내가 선택한 숫자
		
		while(no != num) { // 내가 입력한 수와 컴퓨터로 받은 난수가 다를 때까지만 반복
			System.out.print("어떤 숫자일까?? >>> ");
			no = sc.nextInt();
			
			if(no > num) {
				System.out.println(no + "보다 더 작은 숫자입니다.");
			} else if(no < num) {
				System.out.println(no + "보다 더 큰 숫자입니다.");
			}
			System.out.println("====================");
			count ++;
		}

		System.out.println("축하합니다! 정답입니다!");
		System.out.println("정답 숫자 >>> " + num);
		System.out.println("정답 소요 횟수 >>> " + count + "번");
		
		sc.close();
	}

결과

'Back > JAVA' 카테고리의 다른 글

기타보조제어문 - continue, break  (0) 2021.03.03
반복문 - for문, 다중 for문  (0) 2021.03.02
반복문 - While문, do~While문  (0) 2021.02.26
조건문 - Switch~Case문  (0) 2021.02.26
제어문 - if~elseif~else문  (0) 2021.02.26