Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 난수:초보자 가이드

자바 난수 생성 방법

5. 7. 22. 우리 인간에게 난수를 생성하는 것은 쉽습니다. 우리가 해야 할 일은 숫자를 묻는 것뿐입니다. 그러면 하나가 떠오릅니다.

프로그래밍만 하면 쉽겠죠? Java에서 방법만 알면 난수를 생성하는 것은 쉽습니다.

이 가이드에서는 난수를 생성하는 데 사용할 수 있는 세 가지 접근 방식에 대해 논의할 것입니다. 숫자 추측 게임의 맥락에서 각 방법이 어떻게 작동하는지에 대한 예를 살펴보겠습니다.

난수 생성

우리는 모두 어느 시점에서 숫자를 맞춰야 하는 게임 중 하나를 해본 적이 있습니다. 그들 중 일부는 올바른 것을 추측할 수 있으면 상을 주기도 합니다. 이 가이드에서는 Java로 숫자 추측 게임을 만들 것입니다.

물론 첫 번째 단계는 난수를 생성하는 것입니다. 난수가 없으면 우리 게임은 별로 재미가 없을 것입니다. 이를 위해 사용할 수 있는 세 가지 방법을 각각 살펴보겠습니다.

임의 클래스 사용

Java에는 난수를 생성하는 데 사용할 수 있는 "Random"이라는 편리한 클래스가 있습니다. java.util.Random을 사용하여 숫자 추측 게임을 시작하겠습니다. 난수 스트림을 생성하는 클래스:

import java.util.Random;

class Main {
	public static void main(String args[]) {
		Random random_number_generator = new Random();
		int random_number = random_number_generator.nextInt(25);

		System.out.println(random_number);
	}
}

이 클래스를 세 번 실행하면 세 개의 난수가 생성됩니다.

22
15
19

먼저 java.util.Random 클래스를 가져왔습니다. . 그런 다음 "random_number_generator"라는 이 클래스의 인스턴스를 만들었습니다. 이 인스턴스를 사용하여 난수를 생성할 수 있습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

nextInt() 메서드를 사용하면 0 범위와 다른 지정된 숫자 사이의 난수를 생성할 수 있습니다. 위에서 숫자 25를 지정했습니다. 즉, 생성기가 반환하는 모든 숫자는 0에서 25 사이가 됩니다.

Math.random() 사용

Math.random() 메서드는 사용하는 데 조금 더 많은 작업이 필요하지만 난수를 생성하는 데 여전히 좋은 방법입니다. Math.random()을 사용하여 난수 생성기 시퀀스를 생성해 보겠습니다. :

class Main {
	public static void main(String args[]) {
		int small = 0;
		int large = 25;

		int random_number = (int)(Math.random() * (large - small + 1) + small);
		System.out.println(random_number);
	}
}

Math.random() Java에 내장되어 있습니다. 즉, 코드에서 가져올 필요가 없습니다.

두 개의 변수를 선언하는 것으로 시작했습니다. "작은"은 숫자가 생성되지 않아야 하는 하한을 지정합니다. "큰"은 숫자가 생성되지 않아야 하는 상한입니다.

그런 다음 공식을 사용하여 난수를 생성했습니다. Math.random() 때문입니다. 자체적으로는 전체 난수를 반환하지 않습니다. Math.random 메서드는 0.0에서 1.0 사이의 난수를 반환합니다. 위의 공식을 사용하여 범위 내의 정수로 변환해야 합니다.

코드를 세 번 실행하면 세 개의 난수가 생성됩니다.

2
1
9

ThreadLocalRandom 사용

ThreadLocalRandom은 난수를 생성하는 데 사용할 수 있는 클래스입니다.

이 클래스는 여러 난수를 병렬로 생성하려는 경우에 사용하는 것이 가장 좋습니다. 이것은 일반적으로 다중 스레딩 환경에서 발생합니다.

이 방법을 사용하여 난수 생성기를 만들어 보겠습니다.

import java.util.concurrent.ThreadLocalRandom;

class Main {
	public static void main(String args[]) {
		int small = 0;
		int large = 25;

		ThreadLocalRandom random_number_generator = ThreadLocalRandom.current();
		int random_number = random_number_generator.nextInt(small, large);
		System.out.println(random_number);
	}
}

난수를 생성하는 데 사용하는 클래스가 포함된 ThreadLocalRandom 라이브러리를 가져오는 것으로 시작했습니다. 그런 다음 난수 생성기의 하한과 상한을 설정하는 두 개의 변수를 지정했습니다.

ThreadLocalRandom 클래스를 참조하는 random_number_generator라는 변수를 선언했습니다. 그런 다음 nextInt()를 사용했습니다. 방법을 사용하고 난수를 생성하기 위해 "작은" 및 "큰" 변수를 인수로 지정했습니다.

프로그램을 세 번 실행하면 세 개의 난수가 반환됩니다.

4
23
15

이제 나머지 추측 게임을 구축할 준비가 되었습니다.

추측 논리 만들기

이제 우리는 난수를 생성하는 방법을 알고 있습니다. 게임 빌드의 다음 단계는 사용자가 난수를 추측할 수 있도록 하는 논리를 만드는 것입니다.

이 코드와 함께 위의 예 중 하나를 사용하여 작동하도록 할 수 있습니다. 코드 스니펫의 변수 이름은 아래 예제와 호환되도록 설정되었습니다.

"Scanner" 클래스를 사용하여 사용자에게 숫자를 추측하도록 요청하는 것으로 시작하겠습니다.

import java.util.Scanner;

class Main {
	public static void main(String[] args) {
		// Guessing code goes here
		Scanner guess = new Scanner(System.in);

		System.out.println("Guess a number between 1 and 25: ");
		int user_guess = guess.nextInt();
	}
}

이 코드는 사용자에게 "1과 25 사이의 숫자를 맞춰보세요:"라고 요청합니다. 사용자가 Java 콘솔에 입력한 값은 "user_guess" 변수로 저장됩니다.

그런 다음 사용자가 추측한 숫자가 프로그램에서 생성한 숫자와 같은지 확인하는 if 문을 작성할 것입니다.

...
if (user_guess == random_number) {
	System.out.println("You have correctly guessed the number!");
} else {
	System.out.println("Your guess is incorrect!");
}

프로그램을 실행하고 1에서 25 사이의 숫자를 입력해 보겠습니다.

Guess a number between 1 and 25:
7
Your guess is incorrect!

숫자를 올바르게 추측하면 프로그램에서 다음을 반환합니다.

Guess a number between 1 and 25:
9
You have correctly guessed the number!

몇 줄의 코드만으로 추측할 난수를 생성하는 게임을 성공적으로 만들 수 있었습니다.

결론

난수는 프로그래밍에서 광범위하게 사용됩니다. 이 예에서는 추측 게임에서 난수를 사용하는 방법을 살펴보았습니다.

난수를 생성하는 데 사용할 수 있는 세 가지 방법이 있습니다.

  • 임의 클래스 사용
  • 내장 Math.random() 사용 방법
  • ThreadLocalRandom 클래스 사용

당신은 도전을 찾고 있습니까? 여러 추측을 할 수 있도록 추측 게임 코드를 변경하세요.