2012-09-02 3 views
0

Я начинающий Java программист мне удалось создать имена файлов и хранить на каждой строке, то в этом формате

name1
name2
name3

Как я могу выбрать случайное имя и распечатать его ? Спасибо :)Как выбрать случайное имя из текстового файла?

+0

Я понятия не имею, с чего начать, я искал в Google и здесь, но не могу его найти. – user1641312

+1

Вы пробовали работать через базовый учебник по Java, по крайней мере, достаточно, чтобы читать строки из файла? Если вы не знаете достаточно даже для запуска Java-программы, для кого-то просто не будет конструктивно писать полную программу для вас. (Также, это домашнее задание?) –

+0

Нет, это не домашнее задание, его для игры im messing around with и im, делая систему лотереи, где она добавляет свое имя в файл, и мне нужен другой метод, чтобы выбрать случайное имя, у меня есть некоторый опыт работы с java, но немного о чтении и записи из файлов. – user1641312

ответ

1

Вы можете либо прочитать все это в строку, разделить ее на массив строк и использовать «случайный» из «математики», чтобы генерировать псевдослучайные числа, чтобы выбрать один каждый интервал, или вы используете «randomAccessFile» «с приведенным выше утверждением, что максимальная случайная величина будет длиной файла, и вы будете вынуждены искать следующее пространство, чтобы выбрать нужное имя, а также обрабатывать случай, в котором вы выбрали позицию в последних

1
String fileName = "...the path and name of your file...."; 
ArrayList<String> allNames = new ArrayList<String>(); 
Random r = new Random(); 

BufferedReader in = new BufferedReader(new FileReader(fileName)); 
while (in.ready()) { 
    allNames.add(in.readLine()); 
} 
in.close(); 

String randomName = allNames.get(r.nextInt(allNames.size())); 
+0

Большое спасибо, но как я могу удержать его от рисования пустого имени? – user1641312

+1

Есть несколько способов. Сначала убедитесь, что ваш файл не содержит пустых симпатий или добавьте загрузку строки из in.readline() в строку temp и проверьте, не пуст ли она. Если он не пуст, добавьте его в список массивов. Игнорируйте строку, если она пуста. Все остальное должно работать нормально. –

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