3

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

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

4

4 回答 4

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));
}
于 2010-01-16T11:38:21.677 回答
2
Random r = new Random();
r.nextInt(bottomX-topX)+topX; //will give you the next random integer in range [bottomX,topX]
于 2011-11-02T06:43:48.990 回答
1

您可以使用 MIDP 的Random类,或CLDC 1.1中的类

你可以做nextLong然后截断,或者使用next(44)并从那里迭代以获得一个真正的 14 号长。

于 2010-01-16T11:33:09.303 回答
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);
      }

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

于 2010-01-16T12:26:23.157 回答