Programing

1-10 Java 사이의 난수 생성

lottogame 2020. 6. 5. 08:03
반응형

1-10 Java 사이의 난수 생성


이 질문에는 이미 답변이 있습니다.

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

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

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

()nextInt 메소드를 호출 할 때 괄호 안에 무엇을 넣고 무엇을 추가 해야하는지 알 수있는 방법이 있습니까?


문서에서 알 수 있듯이이 메소드 호출은 "0 (포함)과 지정된 값 (제외) 사이에 균일하게 분산 된 의사 난수 int 값"을 반환합니다. 이것은 귀하의 경우 0에서 9 사이의 숫자를 얻음을 의미합니다. 그래서 당신은 그 숫자에 하나를 추가하여 모든 것을 올바르게했습니다.

당신이에서 번호를 생성해야하는 경우 일반적으로 말하기 minmax(모두 포함), 당신이 쓰기

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 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에서 입력 한 숫자가됩니다).

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

반응형