3 votes

Quel est l'équivalent Java de NSArrays et arc4random ?

Je suis en train de porter une de mes applications sur Android et je suis bloqué sur un point très basique. NSArray et ensuite appeler :

int chosen = arc4random() % [array count];
textOutput.text = [array objectAtIndex: chosen];

mais je n'arrive pas à l'obtenir dans Android.

Tout ce dont j'ai besoin, c'est de définir manuellement le tableau et d'y sélectionner une chaîne de manière aléatoire.

----- Comment j'ai réussi à le faire -----

ArrayList<String> array = new ArrayList<String>();
array((new String("Blah, blah.")));
String randString = new String();
randString = array(new Random().nextInt(array()));  
textBox.setText(randString, TextView.BufferType.EDITABLE);

6voto

Jan Points 1670

L'équivalent java d'un NSArray serait la java.util.List avec ses différentes implémentations comme par exemple java.util.ArrayList. (ou plus exactement, List est plutôt un équivalent de NSMutableArray, car Java ne propose pas vraiment de listes non modifiables).

Pour créer un nombre aléatoire, vous pouvez utiliser java.util.Random, comme ceci :

Random rnd = new Random();
int randomListIndex = rnd.nextInt(myList.size());

3voto

Ernest Friedman-Hill Points 56605

Fais quelque chose comme

import java.util.Random;
// ...
textOutput.text = theArray[new Random().nextInt(theArray.length)];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X