Programming

Java에서 난수 얻기

procodes 2020. 2. 19. 22:16
반응형

Java에서 난수 얻기


가능한 중복 :
Java : 범위에서 난수 생성

Java에서 1에서 50 사이의 임의의 값을 얻고 싶습니다.

도움을 받아 어떻게 할 수 Math.random();있습니까?

Math.random()반환 되는 값을 어떻게 바인딩 합니까?


첫 번째 해결책은 java.util.Random클래스 를 사용하는 것 입니다.

import java.util.Random;

Random rand = new Random();

// Obtain a number between [0 - 49].
int n = rand.nextInt(50);

// Add 1 to the result to get a number from the required range
// (i.e., [1 - 50]).
n += 1;

다른 해결책은 다음을 사용하고 있습니다 Math.random().

double random = Math.random() * 49 + 1;

또는

int random = (int)(Math.random() * 50 + 1);

int max = 50;
int min = 1;

1. Math.random () 사용

double random = Math.random() * 49 + 1;
or
int random = (int )(Math.random() * 50 + 1);

이것은 int의 경우 1에서 50 사이의 값을 제공하거나 double의 경우 1.0 (포함)에서 50.0 (제외)의 값을 제공합니다

왜?

random () 메서드는 0.0과 0.9 사이의 난수를 반환합니다. 50을 곱하면 상한에 0.0과 49.999가됩니다. 1을 추가하면 1.0과 50.999가됩니다. 자르면 int, 당신은 1 ~ 50을 얻습니다 (댓글에 @rup 덕분에). 두 가지 접근 방식에 대한 leepoint의 멋진 글씨.

2. Java에서 임의 클래스 사용.

Random rand = new Random(); 
int value = rand.nextInt(50); 

이것은 0에서 49 사이의 값을 줄 것입니다.

1에서 50까지 : rand.nextInt((max - min) + 1) + min;

Java Random awesomeness의 소스 .

참고 URL : https://stackoverflow.com/questions/5887709/getting-random-numbers-in-java



반응형