J'ai un tableau de chaînes:
String[] fruits = {"Apple","Mango","Peach","Banana","Orange","Grapes","Watermelon","Tomato"};
et j'obtiens un élément aléatoire de ceci en:
String random = (fruits[new Random().nextInt(fruits.length)]);
maintenant, je veux obtenir le nombre auquel Apple est présent lorsque je clique sur le bouton pour obtenir des fruits aléatoires, comme lorsque j'appuie sur le bouton Randon, cela me donne Banana..et devrait également me donner cet élément le numéro est 3
Je reçois l'élément mais j'ai du mal à obtenir le numéro de l'élément, alors s'il vous plaît, aidez-moi
Il suffit de stocker l'index généré dans une variable, puis d'accéder au tableau à l'aide de cette variable:
int idx = new Random().nextInt(fruits.length);
String random = (fruits[idx]);
P.S. Je n'aime généralement pas générer un nouvel objet Random
par randoization - je préfère utiliser un seul Random
dans le programme - et le réutiliser. Cela me permet de reproduire facilement une séquence problématique si je trouve plus tard un bug dans le programme.
Selon cette approche, j'aurai une variable Random r
quelque part, et je vais simplement utiliser:
int idx = r.nextInt(fruits.length)
Cependant, votre approche est également correcte, mais vous pourriez avoir du mal à reproduire une séquence spécifique si vous en avez besoin plus tard.