1、需求:三种长度的元素,分别是4、8、12,每一行的长度是12,超过12就排到下一行,我们将这三种类型的多个元素打乱,然后找到这些元素对应的行和列。
如下图:
2、解决思路:
- 创建一个长度为4、8、12的三种类型的元素数组。
- 随机打乱数组中的元素顺序。
- 遍历数组,计算每个元素所在的行和列。
3、代码:
public static void main(String[] args) {// 创建元素数组List<Integer> elements = new ArrayList<>();for (int i = 0; i < 4; i++) {elements.add(4);}for (int i = 0; i < 8; i++) {elements.add(8);}for (int i = 0; i < 12; i++) {elements.add(12);}// 随机打乱数组顺序Collections.shuffle(elements);// 计算每个元素所在的行和列int row = 1;int col = 1;int currentLength = 0;for (int element : elements) {if (currentLength + element > 12) {row++;col = 1;currentLength = 0;}System.out.println("元素 " + element + " 在第 " + row + " 行,第 " + col + " 列");col++;currentLength += element;}}