web-dev-qa-db-fra.com

Comment puis-je générer un nombre aléatoire dans une certaine plage?

Comment créer une application générant un nombre aléatoire dans Android à l'aide d'Eclipse, puis afficher le résultat dans un champ TextView? Le nombre aléatoire doit être dans une plage sélectionnée par l'utilisateur. Ainsi, l’utilisateur entrera le max et le min de la plage, puis j’enverrai la réponse.

28
user3182651

Pour prolonger ce que Rahul Gupta a dit:

Vous pouvez utiliser la fonction Java int random = Random.nextInt(n).
Ceci retourne une int aléatoire dans la plage [0, n-1]

Autrement dit, pour obtenir la plage [20, 80], utilisez:

final int random = new Random().nextInt(61) + 20; // [0, 60] + 20 => [20, 80]

Pour généraliser davantage:

final int min = 20;
final int max = 80;
final int random = new Random().nextInt((max - min) + 1) + min;
74
Fantômas
Random r = new Random();
int i1 = r.nextInt(45 - 28) + 28;

Ceci donne un entier aléatoire compris entre 28 (inclus) et 45 (exclusif), l'un des 28,29, ..., 43,44.

13
Narendra Sorathiya

En outre, à partir du niveau 21 de l'API, cela est possible:

int random = ThreadLocalRandom.current().nextInt(min, max);
3
Deplover

"l'utilisateur est celui qui sélectionne max no et min no?" Que voulez-vous dire par cette ligne?

Vous pouvez utiliser la fonction Java int random = Random.nextInt(n). Ceci retourne un int aléatoire dans l'intervalle [0, n-1]). 

et vous pouvez le définir dans votre textview en utilisant la méthode setText()

3
Rahul Gupta
private int getRandomNumber(int min,int max) {
    return (new Random()).nextInt((max - min) + 1) + min;
}
1
Gil SH

Vous pouvez utiliser If Random. Par exemple, cela génère un nombre aléatoire compris entre 75 et 100.

final int random = new Random().nextInt(26) + 75;
1
Developer

Générateur de nombres aléatoires sous Android Si vous souhaitez en savoir plus sur le générateur de nombres aléatoires sous Android, vous devriez lire cet article jusqu'à la fin. Ici, vous pouvez obtenir toutes les informations sur le générateur de nombres aléatoires dans Android. Générateur de nombres aléatoires sous Android

Vous devez utiliser ce code dans votre fichier Java.

Random r = new Random();
                    int randomNumber = r.nextInt(100);
                    tv.setText(String.valueOf(randomNumber));

J'espère que cette réponse pourra vous être utile. Si vous voulez en savoir plus sur cet article, alors vous devriez lire cet article. Générateur de nombres aléatoires

0
sumit singh

Donc, vous voudriez ce qui suit:

int random;
int max;
int min;

... quelque part dans votre code, mettez la méthode pour obtenir le minimum et le maximum de l'utilisateur lorsqu'il clique sur soumettre, puis utilisez-le dans la ligne de code suivante:

random = Random.nextInt(max-min+1)+min;

Cela définira aléatoire un nombre aléatoire entre les valeurs min et max sélectionnées par l'utilisateur . Vous ferez alors:

TextView.setText(random.toString());
0
BobbyD17