본문 바로가기
IT/Java

Java (while문_난수 발생하여 범위안의 정답 추측하기)

by hjshims 2021. 4. 22.

 

 

package p0422;

import java.util.Scanner;

public class WhileRandom2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		int low = 1, high = 100;
		int cnt = 0;

		while (true) {
			int rand = (int) (Math.random() * 100) + 1;
			System.out.println(rand);

			while (true) {
				System.out.println(low + " ~ " + high + " 범위의 정수");
				cnt++;
				System.out.print(cnt + ">> ");
				int in = scan.nextInt();
				if (in > high || in < low) {
					System.out.println("범위를 벗어났어요.");

				} else if (in < rand) {
					System.out.println("윗수입니다.");

					low = ++in;
				} else if (rand < in) {
					System.out.println("아래수입니다.");

					high = --in;
				}
				if (in == rand) {
					System.out.println("같은수입니다.");

					System.out.println("축하합니다. " + cnt + "번 만에 맞추셨습니다.\n");
					break;
				}
			}
			System.out.print("게임을 계속할까요? (Y/N) ");
			String yn = scan.next();

			if (yn.equals("N") || yn.equals("n")) {
				System.out.println("\n게임을 종료하였습니다.");
				break;
			}
		}
	}
}

<출력결과>