자바 숫자맞추기 up down 게임(while문 무한루프, break, Scanner, Math.random 사용예제)
// 0 에서 99 사이의 랜덤 숫자 맞추기
Scanner scanner = new Scanner(System.in);
String yN = "";
while (true) {
if (yN.equals("n")) { // n일 경우, while문을 빠져나간다
break;
}
int number = (int) (Math.random() * 100) ; // 랜덤 숫자 0-99
System.out.print("수를 결정하였습니다.\n힌트:");
System.out.print((number % 2 == 1)?"홀수":"짝수");
System.out.println("입니다. 맞추어보세요.\n범위:0-99");
while (true) { // 숫자를 맞출 때까지 무한루프
int myNum = scanner.nextInt();
if (myNum >= 0 && myNum <= 99) {
if (myNum > number) {
System.out.println("더 낮게");
} else if (myNum < number) {
System.out.println("더 높게");
} else {
System.out.println("맞았습니다. 다시 하시겠습니까?(y/n)");
yN = scanner.next(); // 계속 하시겠습니까? y or n
if (yN.equals("n")) {
System.out.println("종료합니다");
}
break; // 숫자를 맞췄으므로, y or n 관계없이 숫자 맞추기 루프는 빠져나간다
}
} else {
System.out.println("유효하지 않은 수입니다. 다시 입력하세요");
}
}
}
scanner.close();