Java API에 .NET Framework의 Random.next (int32, int32)와 동일합니까?
문제
기존 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;
제휴하지 않습니다 StackOverflow