Давайте использовать базовую форму создания массива из двух стеков;взять обычный массив и «разделить» его пополам.
Если ваш массив имеет максимальный размер N, то «левая» часть массива растягивается от «array [0]» до «array [n / 2»] "(знак на полпути.)
" Правая "сторона будет от" array [n / 2] "до" array [n-1] "(конец).
Так, например, если мы хотим поместить игрушечную машинку в левую часть нашего массива «ToyCollection», то есть размер 10?Затем мы можем поместить его в «ToyCollection [0-4]», первую половину.Мы помещаем только фигурки в слоты "ToyCollection [5-9]".
Обратите внимание, что мы не буквально разбиваем массив пополам, но мы говорим себе, что мы выиграли 't помещать определенные элементы в определенные слоты.
Так как же работать с логическими переменными в этом?Хорошо для моего приведенного выше примера, допустим, что у нас есть логическое значение, которое говорит "WantToyCars".Если это bool True, то нам нужен только доступ к левой стороне массива.
Так что давайте вернем разделение этого.Есть несколько способов разделения массивов, но я просто собираюсь использовать встроенную функцию «copyOfRange», которая есть во всех массивах.Какой-то псевдокод для иллюстрации идеи;
public Toy[] getCars(Toy[] ToyCollection, boolean WantToyCars) {
if (WantToyCars) {
Toy[] ToyCars = Arrays.copyOfRange(ToyCollection, 1, (ToyCollection.length / 2));
return ToyCars;
}
}
Если это соответствует структуре вашего задания, то я думаю, что сработает.