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 |