Я пытаюсь разделить значения в массиве, когда общее количество достигло определенного предела.
Итак, это массив, который у меня сейчас есть.
ArrayList<String> IDname = new ArrayList<>(); // this contains the name of the ID (Max. 10 names)
ArrayList<Integer> qty = new ArrayList<>(); // this contains the values acquired from user input (Max. 10 values)
Что я пытаюсь сделать, так это то, что после того, как я получил максимальный ввод краски на коробку, я должен убедиться, что каждый идентификатор в массиве и их количество находится в каждой коробке.
Например: IDnames имеет ID1, ID2, ID3, ID4
веса 343 274 199 197
максимум в коробке = 12
Я хочу убедиться, что в каждой коробке есть хотя бы каждое количество идентификатора, которое затем отображается в текстовом поле с указанием количества в каждой коробке и именами идентификаторов.
например:
Поле 1 = ID1, кол-во, ID2, кол-во, ID3, кол-во...
Поле 2=....
Как это можно сделать в коде?




Если бы я понял, Вы можете сделать что-то вроде этого:
public void addPaint ( String id, Integer weight) {
IDname.add(id);
qty.add(weight);
}
который добавит значения в оба массива, и они будут иметь одинаковый индекс. И если вы хотите показать значения:
for(int i=0; i<12; i++){
System.out.println(IDname[i]);
System.out.println(weight[i]);
}
Или, если вам не нужно использовать массивы, вы можете использовать то, что сказал @Faris Arifiansyah.
Я действительно не понимаю, но я думаю, что структура данных карты является более подходящей. Вы можете создать карту, содержащую идентификатор и количество.
Map<String, Integer> box = new HashMap<>()Вы можете сохранить там пару имени ID и QTY, а затем вы можете зациклить карту и использовать пару ключ и значение.