1
У меня есть метод, который должен выбрать случайное слово из txt-файла, но он работает только некоторое время.Как выбрать случайное слово из txt-файла?
Содержание файла выглядит следующим образом:
Broccoli
Tomato
Kiwi
Kale
Tomatillo
Мой код:
import java.util.Random;
import java.util.Scanner;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public String getRandomItem(){
Scanner fileIn = null;
String temp = "";
int r = randomGenerator.nextInt(5) + 1;
byte i = 0;
try {
fileIn = new Scanner(new FileInputStream("bundles.txt"));
} catch (FileNotFoundException e) {
System.out.println("File not found.");
System.exit(0);
}
while(i <= 5){
temp = fileIn.nextLine();
if(i == r){
break;
}
i++;
}
fileIn.close();
return temp;
}
Может кто-то пожалуйста, скажите мне, где я неправильно?
Запустите это в отладчике и убедитесь сами, почему он не всегда работает. –
Откуда вы знаете, что это случайность только в некоторые моменты? Выполните, по крайней мере, 1000 раз и проанализируйте результат, чтобы увидеть фактическую случайность. –
Я не имею в виду, что это не всегда случайный, я имею в виду, что я получаю сообщение об ошибке: Исключение в потоке «main» java.util.NoSuchElementException: Не найдено ни одной строки – ccless1