본문 바로가기

JAVA/기본다지기

[JAVA] 0~100 숫자맞추기 게임


package com.javalesson.test;


import java.util.Random;

import java.util.Scanner;


public class T01RandomGame {

int rand;  //1~100까지 난수를 받을 변수

int guest //유저가 입력한 숫자를 받을 변수

int cnt=0;  //몇 번 만에 맞췄는지 계산 할 변수

boolean flag;  //반복문을 탈출하기 위한 boolean

public int RandomDemo(){  //난수를 발생시키는 class

Random random = new Random(); //Random 객체 생성

return rand = random.nextInt(100);  //1~100까지의 난수를 rand 변수에 넣어 반환

}

public void GuestDemo(){//유저로부터 숫자를 입력받아 게임을 진행하는 class

do{    //반복문을 시작한다

                    flag true;  // flag의 초기값은 true로

    Scanner scan = new Scanner(System.in);  //스캐너 객체 생성

System.out.print("0~100까지의 정수를 입력하세요 : ");

try{

guest = scan.nextInt();  //유저에게 난수를 입력받아 guest에 저장

if(guest>=0 && guest<=100){ //입력한 숫자가 0~100사이인지 판별

if(rand guest){  //입력한 수가 난수보다 크면 

                 System.out.println(guest+"보다 큰 수입니다.");

                }else if(rand guest){   //입력한 수가 난수보다 작으면

                  System.out.println(guest+"보다 작은 수입니다.");

                        }

                else  //정답을 맞추면

                     System.out.println("정답입니다!"); 

                flag false// 맞췄으면 false로 초기화

                }

}else{  //0~100사이의 범위를 초과하면

System.out.println("0~100까지 정수만 입력하세요");

cnt--;} //정상적인 입력이 아니었을 시 횟수에 반영하지 않음

}catch(Exception e){ //정수가 아닌 문자를 입력했을 때 예외처리

System.out.println("0~100까지 정수만 입력하세요");

cnt--;} //정상적인 입력이 아니었을 시 횟수에 반영하지 않음

cnt++; //시도 횟수 1회 증가

}while(flag);  //flag가 false이면 탈출

System.out.println(cnt+"번 만에 맞추셨습니다.");

}

public static void main(String[] args){

T01RandomGame game = new T01RandomGame();

game.RandomDemo();

game.GuestDemo();

}

}


'JAVA > 기본다지기' 카테고리의 다른 글

JAVA 14일차 필기  (1) 2016.08.24
JAVA 13일차 필기  (0) 2016.08.22
JAVA 12일차 필기  (0) 2016.08.17
JAVA 11일차 필기  (0) 2016.08.16
JAVA 10일차 필기  (1) 2016.08.12