Java 代码实现数字分组:按指定大小将数字分组
以下是 Java 代码实现,根据给定的数字 n,以 m 为大小分组:
import java.util.ArrayList;
import java.util.List;
public class Grouping {
public static List<List<Integer>> groupNumbers(int n, int m) {
List<List<Integer>> groups = new ArrayList<>();
if (n <= 0 || m <= 0) {
return groups;
}
int groupCount = n / m;
int remainder = n % m;
for (int i = 0; i < groupCount; i++) {
List<Integer> group = new ArrayList<>();
for (int j = 0; j < m; j++) {
group.add(i * m + j + 1);
}
groups.add(group);
}
if (remainder > 0) {
List<Integer> group = new ArrayList<>();
for (int i = 0; i < remainder; i++) {
group.add(groupCount * m + i + 1);
}
groups.add(group);
}
return groups;
}
public static void main(String[] args) {
int n = 10;
int m = 3;
List<List<Integer>> result = groupNumbers(n, m);
for (List<Integer> group : result) {
System.out.println(group);
}
}
}
在上面的代码中,我们首先对输入参数进行了非法检查,如果 n 或 m 小于等于 0,则直接返回空的分组结果。
然后,我们计算出可以完整分组的个数(groupCount)和剩余数字个数(remainder)。
接下来,我们用两个嵌套的循环来生成完整分组的数字。外部循环控制分组的个数,内部循环生成每个分组中的数字,使用公式 i * m + j + 1 来计算每个数字的值。
最后,如果剩余数字个数大于 0,则生成一个包含剩余数字的分组。
最后,我们在 main 函数中进行测试,将 n 和 m 分别设置为 10 和 3,并输出每个分组的数字列表。输出结果如下:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
[10]
原文地址: https://www.cveoy.top/t/topic/pgbY 著作权归作者所有。请勿转载和采集!