Как разбить массив на подмассивы и отобразить элементы с помощью системы Лейтнера?

Мне нужно написать программу Flashcard, используя систему Лейтнера. Я застрял там, где хочу показать карту из случайного массива.

Я могу добавить карты в массив, а затем случайным образом показать карты. Затем я добавил больше массивов и попытался показать карту случайным образом из массивов.

Это код, который я использовал для случайного выбора карты из одного массива.

          int s = deck.getBox1().size();
          int deckIndex = LeitnerSystem.randInt(s);

textArea.setText(deck.getBox1().get(deckIndex).getFront());

Я знаю, как случайным образом выбрать ящик и случайным образом найти карту в этом ящике, но как заменить «getBox1()», чтобы этот метод все еще работал? Пожалуйста, дайте мне знать, есть ли лучший способ реализовать это. Спасибо!

p.s. Я попытался использовать Box(i) для замены Box1, чтобы я мог генерировать случайный int i, но java не позволяет использовать имя массива с "()".


person Sony    schedule 01.11.2019    source источник


Ответы (1)


Я, наконец, использовал if/else, чтобы получить это. Это не похоже на умный способ, но, похоже, работает :)

У меня есть еще один вопрос: если у меня запущено несколько массивов, есть ли способ узнать, откуда находится элемент (имя массива и индекс)? Чтобы я мог переместить элемент в другой массив по нажатию кнопки (правильно/неправильно).

Спасибо еще раз!

person Sony    schedule 02.11.2019