Есть ли эквивалент Java. Framework Framework Random.Next (Int32, Int32) в Java API? - PullRequest
2 голосов
/ 08 мая 2009

Я работаю над переносом существующего приложения VB.Net на Java и не смог найти эквивалент Random.Next (Int32, Int32).

Я мог найти только java.util.Random.next(int val) в Java API.

Есть ли эквивалент Java. Framework в Random.Next (Int32, Int32) в Java API?

Ответы [ 5 ]

3 голосов
/ 08 мая 2009

Как говорит Марк, просто адаптируйте 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;
}
2 голосов
/ 08 мая 2009

нет, но вы можете сделать это следующим образом:

public static int randomInRange(int min, int max){
      return min+Random.next(max-min);
}
1 голос
/ 08 мая 2009

Рассмотрим RandomUtils от Apache Commons Lang:

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

0 голосов
/ 08 мая 2009

Звонок на Random.Next(x, y) можно перевести на что-то вроде Random.nextInt(y - x) + x;

0 голосов
/ 08 мая 2009

Ну, вы можете использовать Random.nextInt (int) , указав диапазон, а затем просто добавить минимальное значение? то есть rand.nextInt (12) + 5

...