J2ME:如何生成随机数?

时间:2010-01-16 11:25:09

标签: java java-me random midp cldc

我只是想知道如何使用J2ME CLDC 1.0 MIDP 2.0生成随机数?

基本上我想在每次菜单项时生成一个14位的随机数 从手机屏幕点击生成。

4 个答案:

答案 0 :(得分:3)

我对J2ME并不熟悉,但Javadoc显示Random类是CLDC api的一部分,因此您可以生成一个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));
}

答案 1 :(得分:2)

Random r = new Random();
r.nextInt(bottomX-topX)+topX; //will give you the next random integer in range [bottomX,topX]

答案 2 :(得分:1)

您可以使用Random类MIDP或CLDC 1.1

中的MIDP

您可以执行nextLong然后截断,或使用next(44)并从那里迭代以获得真正的14个数字。

答案 3 :(得分:0)

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);
      }

您可以使用此通用方法计算任何范围内的随机数。