Мое первое намерение - прокомментировать ваш стиль кодирования.Это плохо, поэтому обязательно добавляйте комментарии, если это необходимо, особенно когда спрашиваете что-то у других.
Другое дело - сделать / опубликовать что-то завершенное, например.блоки, как если бы |операторы else с закрывающими и открывающими скобками.
Я предполагаю, что вам нужно случайным образом получать элементы из списка массивов на основе его содержимого.Если это так, вы можете получить представление о том, как это сделать.Этот код будет соответствовать содержанию вашего незавершенного условия else.
Здесь ответ на ваш вопрос. Пожалуйста, следуйте некоторым общим стандартам, используемым здесь, чтобы сделать ваш код более понятным (независимо от того, где вы пишете в компании, всообщение, в блоге и т. д.).
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class RandomString {
private String filename;
private ArrayList<String> phrases;
// Random number generator instance
Random randomGenerator = new Random();
public RandomString(String filename)
{
this.filename = filename;
reset();
}
public void reset() {
phrases = new ArrayList<String>();
try {
Scanner scan = new Scanner(new File(filename));
while (scan.hasNext())
phrases.add(scan.nextLine());
scan.close();
} catch (Exception e) {
}
}
public String next() {
// Value retrieved from array-list
String item = null;
// Index to be read from array-list
int index = 0;
// Reset the array-list if is it empty
if (phrases.isEmpty()) {
reset();
}
// Check the size, there is a possibility to have zero elements in your stored file
if (phrases.size() > 0) {
if (phrases.size() > 1) {
// Get a random number
index = randomGenerator.nextInt(phrases.size());
} else {
// If the array-list has only one item there is no need to get a random number.
index = 0;
}
// Get the indexed item
item = phrases.get(index);
// Remove item
phrases.remove(index);
}
// Return the item
return item;
}
}
Так что сделайте все возможное.