Выбрать случайный элемент из массива строк? [Дубликат]

1

У меня есть этот код, который (я надеюсь) читает из текстового файла с 66 словами и помещает слова в массив.

BufferedReader buff = null;
String wordlist=new String[66];
int i=0;

try {
    buff = new BufferedReader(new FileReader("C:\\easy.txt"));
    wordlist[i] = buff.readLine();
    while(wordlist[i] != null&i<66){
        wordlist[i]=buff.readLine();
        i++;
    }
}

Я хочу выбрать случайное слово из массива. Однако, пробовав несколько вещей сам и глядя на другие вопросы, похоже, не работает. Любая помощь будет оценена

  • 2
    Не могли бы вы показать нам, что вы пробовали и каким образом это «не работает»?
  • 5
    wordList[new Random().nextInt(wordList.length)] ?
Показать ещё 2 комментария
Теги:
arrays

5 ответов

12

Простейшим кодом IMHO будет:

String word = wordlist[new Random().nextInt(wordlist.length)];
3

Это должно работать:

String randomString = wordlist[(int)(Math.random() * wordlist.length)];
  • 1
    С момента публикации этого ответа я узнал о разнице между Math.random () и Random.nextInt (). stackoverflow.com/questions/738629/...
  • 0
    Я не уверен, что это работает. Я установил для отображения слова, которое он выбрал на ярлыке, и все, что он говорит «ноль». У меня есть весь код на одной кнопке, так что, возможно, это как-то связано с этим. Какие-либо предложения?
Показать ещё 1 комментарий
0

Одним из решений является выбор случайного числа из массива wordlist путем выполнения
String = randomWord = wordlist[(int)Math.random() * wordlist.length]
или
String randomWord = wordlist[(int)Math.random() * 66]

0

Вы можете создать генератор случайных чисел (экземпляр Random).

Затем вы вызываете метод nextInt (wordList.length), чтобы получить случайный индекс в вашем массиве строк.

Например:

Случайное случайное = новое Случайное(); int index = random.nextInt(wordList.length);

Затем: listList [index], чтобы получить случайно выбранную строку.

0

Создайте случайное число от 0 до 65, а затем используйте это число как индекс, который вы выбираете String.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню