J2ME: Как сгенерировать случайное число? - PullRequest
3 голосов
/ 16 января 2010

Я просто хотел узнать, как генерировать случайное число с помощью J2ME CLDC 1.0 MIDP 2.0?

В основном я хочу генерировать случайное число из 14 цифр каждый раз, когда на экране мобильного телефона нажимается пункт «Создать»..

Ответы [ 4 ]

3 голосов
/ 16 января 2010

Я не очень знаком с J2ME, однако Javadoc показывает, что класс Random является частью API CLDC, поэтому вы можете сгенерировать 14-значное число, например:

public static void main(String[] args) {
    Random r = new Random();
    long l = r.nextLong();
    System.out.println(String.format("%015d", l).substring(1, 15));
}
2 голосов
/ 02 ноября 2011
Random r = new Random();
r.nextInt(bottomX-topX)+topX; //will give you the next random integer in range [bottomX,topX]
1 голос
/ 16 января 2010

Вы можете использовать Случайный класс MIDP или один из CLDC 1.1

Вы можете сделать nextLong и затем усечь, или использовать next (44) и выполнять итерацию оттуда, чтобы иметь реальную длину из 14 чисел.

0 голосов
/ 16 января 2010
import java.util.Random;

private static void showRandomInteger(int aStart, int aEnd){
        Random generator = new Random();
        generator.setSeed(System.currentTimeMillis());
        if ( aStart > aEnd ) {
          throw new IllegalArgumentException("Start cannot exceed End.");
        }
        //get the range, casting to long to avoid overflow problems
        long range = (long)aEnd - (long)aStart + 1;
        // compute a fraction of the range, 0 <= frac < range
        long fraction = (long)(range * generator.nextDouble());
        int randomNumber =  (int)(fraction + aStart);
        System.out.println("Generated : " + randomNumber);
      }

Вы можете использовать этот общий метод для вычисления случайных чисел в любом диапазоне.

...