2015-01-23 3 views
-2

У меня есть массив печенье:Как выбрать случайный элемент массива Java, если длина массива неизвестна

Cookie[] ncs = request.getCookies(); 

Они имеют имена, как «n1», «n2» ...» n40 ".." nk "

Как выбрать случайный файл cookie, не принимая во внимание другие файлы cookie, такие как« имя пользователя »и т. д.?

+2

Истерируйте все файлы cookie, проверьте их имена, сохраните только те, у которых есть формат 'nX', и выберите один только из магазинов. Если вам гарантировано, что все куки 'n1, .., nX' найдут максимальное значение' X' и выберите случайное значение в диапазоне '[1, max]'. – Pshemo

+0

@Pshemo Вы должны опубликовать это как ответ с некоторыми базовыми примерами, потому что это (простой) способ достижения цели. –

ответ

-1

Вы можете использовать технику, показанную ниже, чтобы получить случайный файл cookie.

Cookie[] ncs = request.getCookies(); 
int randomInt = (int)(Math.random() * ncs.length); 
Cookie randomCookie = ncs[randomInt]; 
+0

спасибо, его помогает –

+1

Этот ответ кажется неправильным по нескольким причинам: (1) он не компилируется, так как 'ncs' является массивом, поэтому он не имеет метода' size() ', а' length поле; (2) он использует все файлы cookie, но @DmitryMahliui сказал в вопросе «*, не принимая во внимание другие файлы cookie, такие как« имя пользователя »и т. Д. *». Я не знаю, почему OP принял этот ответ. – Pshemo

Смежные вопросы