| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > случайное число (1......100) |
| Автор: aaa25 14.1.2011, 14:42 |
| как задать случайное целое число из диапазона (0...100) ? я нашел такой пример, но не знаю , как им воспользоваться. он без ошибок (wтк не выдает ошибки). может кто посоветует как им пользоваться, или другой рабочий вариант.... public class MyRandom extends Random { private static final int limit = 64; public int nextInt() { if ((limit & -limit) == limit) { return (int) ((limit * (long) next(31)) >> 31); } int bits, val; do { bits = next(31); val = bits % limit; } while (bits - val + (limit - 1) < 0); return val; } } |
| Автор: _sten_ 15.1.2011, 18:56 |
| а (int)Math.random()*100 не подойдет? |
| Автор: math64 17.1.2011, 15:50 | ||
| _sten_, в j2me этого нет. Если CLDC 1.1, можно random.nextInt(100); В CLDC 1.0 так:
Или как было указано в первом сообщении - это адаптированный кусок из Random для J2SE. Но лучше брать старшие биты числа полученного по nextInt() - они более случайны, повторная выборка существенна только для больших чисел около 10000 и теоретически в этом цикле можно крутиться бесконечно. Добавлено через 4 минуты и 7 секунд PS: n=101 для диапазона 0...100 |