Как выбрать множество случайных значений из файла свойств с помощью Java? [Дубликат]

1

У меня есть файл свойств, называемый test.properties в C:\Test\ Directory.

В файле свойств у меня есть идентификатор свойства и значения свойства следующим образом:

TestID=Test1,Test2,Test3,Tes4 upto 10

Используя Java-код, как я могу выбрать любые 5 случайных значений из файла свойств, а затем нужно проверить, что эти значения доступны в FE.

Я начинаю Java, пожалуйста, помогите мне с примером кода

  • 0
    id и value являются парами ключ-значение. файлы свойств предназначены для использования одного и того же значения во всем приложении
  • 0
    Я полностью потерял сознание в том месте, куда нужно прийти. Кто-нибудь, пожалуйста, дайте мне следование коду, я могу понять логику Если возможно, пожалуйста, кто-нибудь может реализовать с помощью приведенного выше кода
Теги:

3 ответа

0

Это должно перетасовать все элементы массива

String[] expectedDropDownItemsInArray = new String[] { "a", "b", "c", "d", "e", "f", "g" };
  Random r = new Random();
  for (int i = expectedDropDownItemsInArray.length - 1; i > 0; i--) {
     int index = r.nextInt(i + 1);
     String temp = expectedDropDownItemsInArray[i];
     expectedDropDownItemsInArray[i] = expectedDropDownItemsInArray[index];
     expectedDropDownItemsInArray[index] = temp;
  }
  System.out.println(expectedDropDownItemsInArray);

Затем, как обычно

ArrayList<String> expectedDropDownItems = new ArrayList<String>();
for(int i=0; i<expectedDropDownItemsInArray.length; i++)
    expectedDropDownItems.add(expectedDropDownItemsInArray[i]);
  • 0
    int index = r.nextInt (0, i); строка temp = ОжидаемыйDropDownItemsInArray [i] ;pectedDropDownItemsInArray [i] = index; Метод nextInt (int) в типе Random не применим для аргументов (int, int), строка не может быть преобразована в тип, Несоответствие типов: невозможно преобразовать из int в String. Эти ошибки получаю
  • 0
    @ user3496643, я обновил код. Я печатал псевдокод. Понимание логики важно.
Показать ещё 13 комментариев
0

Если у вас не слишком много свойств в вашем файле, сделайте это так:

// Define your file here !
private static final File PROPERTIES_FILE = null;

public static void main(String[] args) throws Exception {
    Properties properties = new Properties();
    properties.load(new FileReader(PROPERTIES_FILE));
    ArrayList<Object> values = new ArrayList<Object>(properties.entrySet());
    while (values.size() > 5) values.remove((int) (Math.random() * values.size()));
}
0

У вас уже есть все элементы в списке (предполагая, что expectedDropDownItems - это java.util.List.

Вы можете выбрать 5 случайных записей из этого списка:

Сначала перетасовать список:

Collections.shuffle(expectedDropDownItems);

Теперь список находится в случайном порядке, просто возьмите первые пять записей и поместите их в новый список:

List<String> randomFive = new ArrayList<String>();
for (int i=0; i<5; i++) {
   if (i < expectedDropDownItems.size() {
       randomFive.add(expectedDropDownItems.get(i));
   }
}

Ещё вопросы

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