개발/Java
Up & Down
dev-bleck
2022. 10. 23. 13:51
package org.UpDown;
import java.util.Random;
import java.util.Scanner;
public class UpDown {
static Scanner scan = new Scanner(System.in);
static Random rand = new Random();
public static void main(String[] args) {
// 0 ~ 100 Random 출력
int a = rand.nextInt(100) + 1;
// 변수 설정
int cnt = 5;
int start = 0;
int end = 100;
// cnt가 0 보다 클 경우에만 게임 실행
while(cnt > 0) {
if(cnt == 5) {
System.out.println("===========================================");
}
System.out.printf("%d~%d 사이의 수를 입력하시오 (잔여 카운트 : %d) >> ", start, end, cnt);
int userNum = scan.nextInt();
if(userNum > 0 && userNum <= 100) {
if(a > userNum && (userNum >= start && userNum <= end)) {
System.out.printf("나온 수가 입력한 수 [%d] 보다 높습니다.\n", userNum);
start = userNum;
cnt--;
} else if(a < userNum && (userNum >= start && userNum <= end)) {
System.out.printf("나온 수가 입력한 수 [%d] 보다 낮습니다.\n", userNum);
end = userNum;
cnt--;
} else if(a == userNum && (userNum >= start && userNum <= end)) {
System.out.printf("축하합니다! 정답입니다!");
String yn = "";
while (!(yn.equals("Y") || yn.equals("N")) ) {
System.out.printf("다시 하시겠습니까?(Y / N) >> ");
yn = scan.next();
if(yn.equals("Y")) {
cnt = 5;
start = 0;
end = 100;
a = rand.nextInt(100) + 1;
break;
} else if(yn.equals("N")) {
System.out.println("끝났습니다.");
return;
} else {
System.out.println("Y 또는 N을 입력해주세요.");
}
}
}
}
// cnt가 0이면 재도전 여부를 입력받음
if(cnt == 0) {
String yn = "";
while (!(yn.equals("y") || yn.equals("n")) ) {
System.out.print("카운트가 모두 소진되었습니다. 계속 하시겠습니까?(Y / N) >> ");
yn = scan.next();
if(yn.equals("Y")) {
cnt = 5;
start = 0;
end = 100;
a = rand.nextInt(100) + 1;
break;
} else if(yn.equals("N")) {
System.out.println("끝났습니다.");
return;
} else {
System.out.println("Y 또는 N을 입력해주세요.");
}
}
}
}
}
}
728x90