Подтвердить что ты не робот

Случайный элемент из массива строк

У меня есть строковый массив:

String[] fruits = {"Apple","Mango","Peach","Banana","Orange","Grapes","Watermelon","Tomato"};

и я получаю случайный элемент из этого:

String random = (fruits[new Random().nextInt(fruits.length)]);

теперь я хочу получить номер, в котором присутствует яблоко, когда я нажимаю кнопку, чтобы получить случайные фрукты, например, когда я нажимаю кнопку randon, она дает мне Banana..and также должна дать мне этот номер элемента 3

Я получаю элемент, но имею проблему с получением номера элемента, поэтому, пожалуйста, помогите мне

4b9b3361

Ответ 1

Просто сохраните индекс, сгенерированный в переменной, а затем получите доступ к массиву с помощью этой переменной:

int idx = new Random().nextInt(fruits.length);
String random = (fruits[idx]);

P.S. Обычно мне не нравится генерировать новый объект Random для каждой рандомизации - я предпочитаю использовать один Random в программе - и повторно использовать его. Это позволяет мне легко воспроизвести проблемную последовательность, если позже обнаружу ошибку в программе.

В соответствии с этим подходом у меня будет некоторая переменная Random r, и я просто использую:

int idx = r.nextInt(fruits.length)

Однако ваш подход тоже в порядке, но вам может быть трудно воспроизвести определенную последовательность, если вам нужно в дальнейшем.