Java API에 .NET Framework의 Random.next (int32, int32)와 동일합니까?

StackOverflow https://stackoverflow.com/questions/839073

  •  22-07-2019
  •  | 
  •  

문제

기존 VB.NET 애플리케이션을 Java로 포팅하기 위해 노력하고 있으며 Random.next (int32, int32)와 동등한 것을 찾을 수 없었습니다.

나는 만 찾을 수있다 java.util.Random.next(int val) Java API에서.

Java API에 .NET Framework의 Random.next (int32, int32)와 동일합니까?

도움이 되었습니까?

해결책

마크가 말했듯이, 그냥 적응하십시오 Random.nextInt(int), 몇 가지 세력 검사와 함께 :

public static int nextInt(Random rng, int lower, int upper) {
    if (upper < lower) {
        throw new IllegalArgumentException();
    }
    if ((long) upper - lower > Integer.MAX_VALUE) {
        throw new IllegalArgumentException();
    }
    return rng.nextInt(upper-lower) + lower;
}

다른 팁

아니요.하지만 이런 식으로 가질 수 있습니다.

public static int randomInRange(int min, int max){
      return min+Random.next(max-min);
}

Apache Commons Lang의 Randomutils를 고려하십시오.

http://commons.apache.org/lang/apidocs/org/apache/commons/lang/math/randomutils.html

글쎄, 당신은 사용할 수 있습니다 random.nextint (int) 범위를 지정한 다음 최소 값을 추가 하시겠습니까? 즉, rand.nextint (12) + 5

에게 전화 해 Random.Next(x, y) 같은 것으로 번역 될 수 있습니다 Random.nextInt(y - x) + x;

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top