J2ME: Comment générer un nombre aléatoire?
Question
Je voulais juste savoir comment puis-je générer un nombre aléatoire en utilisant J2ME CLDC 1.0 MIDP 2.0?
En fait, je veux générer un nombre aléatoire de 14 chiffres chaque fois que l'élément de menu Generate est cliqué à partir de l'écran du mobile.
La solution
Je ne suis pas vraiment familier avec J2ME, mais le Javadoc montre que la classe aléatoire fait partie du api CLDC, de sorte que vous pouvez générer un numéro à 14 chiffres comme ceci:
public static void main(String[] args) {
Random r = new Random();
long l = r.nextLong();
System.out.println(String.format("%015d", l).substring(1, 15));
}
Autres conseils
Random r = new Random();
r.nextInt(bottomX-topX)+topX; //will give you the next random integer in range [bottomX,topX]
Vous pouvez utiliser les aléatoire classe de MIDP, ou celui CLDC 1.1
Vous pouvez faire vous pouvez utiliser cette méthode générale pour le calcul des nombres aléatoires dans une plage. nextLong
puis tronquer ou utilisez
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);
}