Java에서 난수를 생성하는 방법: 먼저 프로그램 클래스 시작 앞에 import 문을 넣은 다음 Random 개체를 만들고 마지막으로 특정 범위에서 난수를 선택합니다.
이 문서의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터, Java 버전 8.0.
일련의 난수를 생성하는 것은 때때로 발생하는 일반적인 작업 중 하나입니다. Java에서는 java.util.Random 클래스를 사용하여 이를 간단히 달성할 수 있습니다.
모든 API 클래스와 마찬가지로 첫 번째 단계는 프로그램 클래스가 시작되기 전에 import 문을 넣는 것입니다.
import java.util.Random;
다음으로 Random 개체를 만듭니다.
Random rand = new Random();
Random 개체는 간단한 난수 생성기를 제공합니다. 객체의 메서드는 난수를 선택하는 기능을 제공합니다. 예를 들어, nextInt() 및 nextLong() 메소드는 각각 int 및 long 데이터 유형의 값 범위(음수 및 양수) 내의 숫자를 반환합니다.
Random rand = new Random(); for (int j=0;j < 5;j++) { System.out.printf("%12d ",rand.nextInt()); System.out.print(rand.nextLong()); System.out.println(); }
반환된 숫자는 무작위로 선택된 int 및 긴 값:
-1531072189 -1273932119090680678 1849305478 6088686658983485101 1043154343 6461973185931677018 1457591513 3914920476055359941 -1128970433 -7917790146686928828
from a 범위에서 난수 선택
일반적으로 생성할 난수는 특정 범위(예: 1에서 40 사이 포함)에서 나와야 합니다. 이를 위해 nextInt() 메소드는 int 매개변수를 허용할 수도 있습니다. 숫자 범위의 상한을 나타냅니다. 단, 선택 가능한 숫자 중 하나에 캡 번호가 포함되지 않습니다. 혼란스럽게 들릴 수도 있지만 nextInt() 메서드는 처음부터 작동합니다. 예:
Random rand = new Random(); rand.nextInt(40);
는 0에서 39 사이의 임의의 숫자만 선택합니다. 1로 시작하는 범위에서 선택하려면 nextInt() 메서드의 결과에 1을 추가하면 됩니다. 예를 들어, 1에서 40 사이의 숫자를 선택하려면 결과에 1을 추가하세요.
Random rand = new Random(); int pickedNumber = rand.nextInt(40) + 1;
범위가 더 높은 숫자에서 시작하는 경우 다음을 수행해야 합니다.
위 숫자의 시작 숫자를 빼고 1을 더합니다.
nextInt() 메서드의 결과에 시작 번호를 추가합니다.
예를 들어 5에서 35 사이의 숫자를 선택하려면 상한 숫자는 35-5 + 1 = 31이고 결과에 5를 추가해야 합니다.
Random rand = new Random(); int pickedNumber = rand.nextInt(31) + 5;
랜덤 클래스는 얼마나 무작위인가요?
Random 클래스는 결정론적인 방식으로 난수를 생성한다는 점을 지적하고 싶습니다. 무작위성을 생성하는 알고리즘은 시드(seed)라는 숫자를 기반으로 합니다. 시드 번호를 알고 있는 경우 알고리즘으로 인해 발생하는 번호를 계산할 수 있습니다. 이를 증명하기 위해 Neil Armstrong이 달에 처음 발을 디딘 날의 숫자(1969년 7월 20일)를 시드 번호로 사용하겠습니다.
import java.util.Random; public class RandomTest {; public static void main(String[] args) { Random rand = new Random(20071969); for (int j = 0; j
누가 이 코드를 실행하든 생성된 "무작위" 숫자 시퀀스는 다음과 같습니다.
3 0 3 0 7 9 8 2 2 5
기본적으로 :
Random rand = new Random();
에서 사용하는 시드 번호는 1970년 1월 1일 이후의 현재 시간(밀리초)입니다. 일반적으로 이는 대부분의 목적에 충분히 무작위인 숫자를 생성합니다. 그러나 동일한 밀리초 내에 생성된 두 개의 난수 생성기는 동일한 난수를 생성한다는 점에 유의하십시오.
안전한 난수 생성기가 필요한 애플리케이션(예: 도박 프로그램)에 Random 클래스를 사용할 때도 주의하세요. 시드 번호는 애플리케이션이 실행된 기간을 기준으로 추측할 수 있습니다. 일반적으로 난수가 절대적으로 중요한 애플리케이션의 경우 Random 개체에 대한 대안을 찾는 것이 가장 좋습니다. 임의의 요소(예: 보드 게임의 주사위)만 필요한 대부분의 응용 프로그램에서는 제대로 작동합니다.
위 내용은 Java에서 난수를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!