난수는 보드 게임용 주사위, 도박 프로그램 등과 같은 애플리케이션을 만드는 데 일반적으로 사용됩니다. 일반적으로 난수 생성에는 많은 시간이 걸립니다. 그러나 Java 프로그래밍 언어에서는 세 가지 방법을 사용하여 이를 달성할 수 있습니다. 이에 대한 내용은 아래 Java의 난수 생성기 함수 섹션에서 설명합니다.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
Java에서는 다음 세 가지 방법을 사용하여 난수를 생성할 수 있습니다.
Java Math 클래스는 로그, 평균, 지수화 등의 계산 작업을 위한 다양한 메소드를 제공합니다. 무작위()는 그 중 0.0과 1.0 범위 내에서 양의 double 값을 반환하는 메소드 중 하나입니다. 1.0은 포함적이고 1.0은 배타적입니다. 이 방법은 매개변수를 사용하거나 사용하지 않고 사용할 수 있습니다. 매개변수가 주어지면, 생성된 난수는 주어진 매개변수의 범위 내에서 생성됩니다.
코드:
public class RandomNumber { double num; //Declare a variable num //Method which generates a random number public double randnum() { num=Math.random(); return num; } // Main Method of a program public static void main(String[] args) { //Printing a random number System.out.println("Random Number generated inside main method: "+Math.random()); //Create an object of the class RandomNumber RandomNumber randomobj=new RandomNumber(); //Store the return value obtained from randnum method in a variable randomval double randomval=randomobj.randnum(); //Printing the random number stored in variable randomval System.out.println("Random Number generated inside randomnumber method: "+randomval); } }
출력:
위 예제에서는 Math.random() 메서드를 사용하여 난수를 기본 메서드 내부에 직접 적용하는 방법과 객체를 사용하여 Math.random()이 포함된 메서드를 호출하는 두 가지 방법으로 난수를 생성합니다. 위의 설명에서도 언급했듯이 0.0~1.0 범위 내에서 2개의 난수가 생성되는 것을 볼 수 있습니다.
매개변수 범위 내에서 난수를 생성하기 위해 사용되는 일반적인 표현식은 다음과 같습니다.
Math.random()* (( 최대값 – 최소값 ) +1 ) + 최소값
여기서 maxvalue는 범위의 상한이고 min value는 범위의 하한입니다. 예를 들어 10~20 사이의 난수를 생성하려면 최대값을 20, 최소값을 10으로 설정합니다.
코드:
public class RandomNumParameters { public double randomnum(double x,double y)//max value-y, min value-x { double z =(Math.random()*((y-x)+1)+x); //Formula for random number generation within a range return z; } public static void main(String[] args) { RandomNumParameters ran=new RandomNumParameters(); //Create instance for the class RandomNumParameters double num=ran.randomnum(3.0, 10.0); //Call the Method System.out.println("Random number generated within the range of 3 and 10: "+num ); } }
출력:
Java.util.random 클래스는 float, long, 정수, double, Boolean 등과 같은 다양한 데이터 유형의 난수를 생성합니다. 숫자 범위를 인수로 전달하여 해당 범위 내에서 난수를 생성할 수도 있습니다. . 이 클래스를 사용하기 위해서는 java.util의 Random 클래스를 import(java.util.Random)해야 합니다. 이 클래스를 가져온 후에는 인스턴스를 생성하고 해당 인스턴스를 사용하여 next long(), nextInt() 등의 메서드를 호출합니다.
코드:
//Java program to generate Random numbers using Random class package Sample; import java.util.Random; //import Random Class public class RandomNum { public static void main(String[] args) { Random rand=new Random(); //Create instance of Random class double randomnum=rand.nextDouble(); //Assign the Random Double value in randomnum variable System.out.println("Random Double value: "+ randomnum); } }
출력:
위 프로그램에서는 nextDouble() 메서드를 사용하여 임의의 double 값이 생성됩니다.
ThreadLocalRandom 클래스는 Java 버전 1.7에 도입된 특수한 유형의 Random 클래스입니다. ThreadLocalRandom.current().nextInt()는 난수를 생성하는 데 사용되는 일반적인 메서드 중 하나입니다. 일반적으로 멀티스레드 애플리케이션에 사용됩니다.
코드:
//Java Program to generate random numbers using ThreadLocalRandom Class import java.util.concurrent.ThreadLocalRandom; public class RandomNumThread { public static void main(String[] args) { //print a random double System.out.println("Random Double value using ThreadLocalRandom: "+ThreadLocalRandom.current().nextDouble()); } }
출력:
ThreadLocalRandom 클래스와 Random 클래스를 사용하여 임의의 정수를 생성할 수 있습니다. 두 경우 모두 nextInt() 메서드가 동일한 용도로 사용됩니다.
코드:
//Java program to generate Random integer numbers using Random and THreadLocalRandom Class import java.util.Random; import java.util.concurrent.ThreadLocalRandom; public class RandomInteger { public static void main(String[] args) { Random rnd=new Random(); //Create instance of Random class int randomnum1=rnd.nextInt(); //Random Integer value using Random Class int randomnum2=rnd.nextInt(30); //Random Integer value within the range of 30 int randomnum3= ThreadLocalRandom.current().nextInt(); //Random Integer value using ThreadLocalRandom Class System.out.println("Random Integer value using Random Class: "+ randomnum1); System.out.println("Random Integer value within the range of 30: "+ randomnum2); System.out.println("Random Integer value using ThreadLocalRandom Class: "+ randomnum3); } }
출력:
위의 예에서는 nextInt() 메소드 중 하나가 30을 인수로 갖는 3개의 Random 정수형 숫자가 생성됩니다. 그래서 난수를 생성할 때 30이 상한으로 설정되고, 0(기본 하한)이 하한으로 설정됩니다.
정수 생성과 유사하게 부동 소수점 숫자는 nextFloat() 메서드를 사용하여 생성할 수 있습니다. 이 메서드는 Random 클래스와 ThreadLocalRandom 클래스 모두에서 사용할 수 있습니다.
코드:
//Java program to generate Random Float numbers using Random and THreadLocalRandom Class import java.util.Random; import java.util.concurrent.ThreadLocalRandom; public class RandomFloat { public static void main(String[] args) { Random rnd=new Random(); //Create instance of Random class float randomnum1=rnd.nextFloat(); //Random Float value using Random Class float randomnum2= ThreadLocalRandom.current().nextFloat(); //Random Float value using ThreadLocalRandom Class System.out.println("Random float value using Random Class: "+ randomnum1); System.out.println("Random float value using ThreadLocalRandom Class: "+ randomnum2); } }
출력:
Java에는 프로그램에서 사용할 수 있는 수많은 기능이 포함되어 있습니다. 이는 처리 시간과 코드 줄을 줄이는 데 도움이 됩니다. 난수 생성은 이러한 기능 중 일부를 사용할 수 있는 작업 중 하나입니다. 이 문서에서는 이를 달성하기 위한 다양한 방법을 다루고 있습니다.
위 내용은 Java의 난수 생성기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!