// 숨겨진 카드의 수를 맞히는 게임
// 랜덤 클래스
import java.util.Random;
// 스캐너
import java.util.Scanner;
public class Prob05 {
public static void main(String[] args) {
// 객체 생성
Random random = new Random();
// 1부터 100까지의 임의의 수 설정
int cardnum = random.nextInt(100) + 1;
int min = 1; // 가장 작은 수를 범위 시작 숫자(1)로 초기화
int max = 100; // 가장 큰 수를 범위 끝 숫자(100)로 초기화
int cnt = 1; // 몇 번째 시도인가
System.out.println("수를 결정하였습니다.맟혀보세요!! " /*+ cardnum*/);
System.out.println(min + "~" + max);
Scanner s = new Scanner(System.in);
System.out.print(cnt + ">> ");
int num = s.nextInt();
// 내가 적은 숫자가 카드의 숫자와 같이 않을 때 반복
while (num != cardnum) {
s.nextLine();
if (num > cardnum) { // 내가 적은 수가 더 크다면
System.out.println("더 낮게");
max = num;
System.out.println(min + " ~ " + max);
} else if (num < cardnum) { // 내가 적은 수가 더 작다면
System.out.println("더 높게");
min = num;
System.out.println(min + " ~ " + max);
}
// cnt 증가
cnt++;
System.out.print(cnt + ">> ");
num = s.nextInt();
}
// 내가 적은 수가 카드의 숫자와 같다면
if (num == cardnum) {
System.out.println("맞았습니다!");
System.out.println("다시 하시겠습니까?(y/n)");
String answer = s.next();
// y를 눌렀을 때
if (answer.equals("y")) {
// 작성 멈추고
s.close();
// 다시 시작 방법 알려준다
System.out.println("다시 시작하려면, ctrl + F11 을 누르세요");
}
}
}
}
실행 결과