programing

1 ~ 10의 Java 난수 생성

yoursource 2022. 8. 19. 22:48
반응형

1 ~ 10의 Java 난수 생성

자바에서 1에서 10 사이의 숫자를 생성하고 싶습니다.

제가 시도한 것은 다음과 같습니다.

Random rn = new Random();
int answer = rn.nextInt(10) + 1;

괄호 안에 무엇을 넣어야 하는지 알 수 있는 방법이 있나요?()nextInt 메서드를 호출할 때, 그리고 무엇을 추가할 것인가?

매뉴얼에 기재되어 있듯이 이 메서드콜은 "0(포함)에서 지정된 값(포함) 사이의 균등하게 분산된 의사난수"를 반환합니다.이것은 당신의 경우 0에서 9까지의 숫자를 얻게 된다는 것을 의미합니다.그 숫자에 1을 더함으로써 모든 것을 올바르게 해냈군요.

일반적으로, 만약 당신이 숫자를 생성해야 한다면,min로.max(둘 다 포함), 다음과 같이 씁니다.

random.nextInt(max - min + 1) + min

이를 위한 표준 방법은 다음과 같습니다.

제공:

  • 최소 최소값
  • 최대값

그 결과 최소값과 최대값 사이의 정수를 얻을 수 있습니다.

Random rand = new Random();

// nextInt as provided by Random is exclusive of the top value so you need to add 1 

int randomNum = rand.nextInt((max - min) + 1) + min;

관련 JavaDoc을 참조하십시오.

Aurund에서 설명한 바와 같이 서로 짧은 시간 내에 작성된 랜덤 개체는 유사한 출력을 생성하는 경향이 있으므로 생성된 랜덤 개체를 메서드가 아닌 필드로 유지하는 것이 좋습니다.

이것은 숫자 1 ~ 10을 생성하는 데 도움이 됩니다.코드 맨 위에 Random을 Import해야 합니다.

import java.util.Random;

시험해 보고 싶다면 이런 걸 시도해 보세요.

Random rn = new Random();

for(int i =0; i < 100; i++)
{
    int answer = rn.nextInt(10) + 1;
    System.out.println(answer);
}

또한 괄호 안의 숫자를 변경하면 0에서 해당 숫자 -1로 난수가 생성됩니다(물론 1을 더하지 않는 한 1에서 입력한 숫자까지).

언급URL : https://stackoverflow.com/questions/20389890/generating-a-random-number-between-1-and-10-java

반응형