자바/자바 코드 예제 만들기

자바 기초 예제 문제 7. 랜덤 숫자 맞추기 게임

Tomitom 2022. 11. 1. 14:40
반응형

 

1~50까지의 범위 중 랜덤 숫자 하나를 맞추는 게임을 작성해보겠습니다. 

기회는 10번까지 주어지며, 정해진 숫자가 업인지 다운인지를 확인할 수 있도록 할게요. 

 

Random 난수와 while 조건문, if 조건문, Scanner 클래스를 활용합니다. 

 

package day17;

import java.util.Random;
import java.util.Scanner;
/*
 * 직접 키보드 입력으로 숫자를 추측하는 작업을 맞출 때까지 반복하기. 
 * 단 10번의 기회가 주어지며, 10번 시도하고도 못 맞추면 그때 반복이 끝난다. 
 * 업다운을 알려주는 기능을 포함한다. 
 */


public class Quiz03 {
	public static void main(String[] args) {
		
		Random rn = new Random(System.currentTimeMillis());
		int correctNumber = rn.nextInt(50)+1;
		Scanner sc = new Scanner(System.in);
		int chance = 0;
		
		while(true) {
			System.out.println("랜덤 숫자를 입력해보세요! : ");
			int guess = sc.nextInt();
			
			if(correctNumber == guess) {
				System.out.println("정답.");
				break;
			}else if(correctNumber > guess){
				System.out.println("업");
			}else if(correctNumber < guess){
				System.out.println("다운");
			}			
			chance++; 
			if(chance == 10 ) {
				System.out.println("도전 실패!");
				break;
			}
			
		}
	}
	
}

 

package day17;

import java.util.Random;    // 랜덤 클래스 호출
import java.util.Scanner;   // 스캐너 클래스 호출


public class Quiz03 {
    public static void main(String[] args) {
       
        Random rn = new Random(System.currentTimeMillis());     //현재시각을 기점으로 랜덤한 수 추출하여 변수 rn 에 입력
        int correctNumber = rn.nextInt(50)+1;   // rn 은 51까지의 랜덤 숫자에서 고르고 그 수를 정수 correctNumber 변수에 입력
        Scanner sc = new Scanner(System.in);    // 스캐너 인스턴스 sc를 생성합니다.
        int chance = 0;     // 기회는 10번까지니 0부터 카운팅합니다.
       
        while(true) {
            System.out.println("랜덤 숫자를 입력해보세요! : ");
            int guess = sc.nextInt();   // 입력 콘솔로 받은 값을 guess 에 저장
           
            if(correctNumber == guess) {
                System.out.println("정답.");
                break;

            }else if(correctNumber > guess){
                System.out.println("업");

            }else if(correctNumber < guess){
                System.out.println("다운");
            }          
            chance++;       // 첫 번째 if문에서 한 번 넘어올 때마다 기회의 수를 1씩 증가합니다.

            if(chance == 10 ) {     // 기회의 수가 10번이 되었을 때 종료
                System.out.println("도전 실패!");
                break;
            }
           
        }
    }
   
}
   
 
 

 

 

반응형