求助:如何将多段Java for循环合并为单个循环
合并多行按钮添加循环的解决方案
嘿,我来帮你把这些重复的for循环合并成一个简洁的单循环!先帮你梳理下原代码的规律:
原代码里每一行的操作都是固定模式:
- 给第
row[k]添加4个连续的button(从索引(k-1)*4到k*4 -1) - 额外添加一个特定索引的
button(button[13 + k],对应row1是14,row2是15) - 最后把该行添加到父容器里
基于这个规律,我们可以把所有逻辑封装到一个循环里,代码如下:
// 假设你需要处理row[1]到row[N],这里先按你给出的前两行示例,可按需扩展行数 for (int rowNum = 1; rowNum <= 2; rowNum++) { // 添加4个连续的button for (int i = (rowNum - 1) * 4; i < rowNum * 4; i++) { row[rowNum].add(button[i]); } // 添加额外的那个button row[rowNum].add(button[13 + rowNum]); // 将该行添加到容器 add(row[rowNum]); }
代码解释:
- 外层循环控制行号
rowNum,从你需要的起始行到结束行(比如如果有3行就改成rowNum <=3) - 内层循环计算每个行对应的button起始索引:
(rowNum-1)*4,这样row1对应0-3,row2对应4-7,完美匹配原逻辑 - 额外button的索引用
13 + rowNum,对应row1是14,row2是15,和原代码一致
如果之后需要添加更多行,只需要修改外层循环的结束条件就行,不用再复制粘贴重复代码啦!
内容的提问来源于stack exchange,提问作者Mybro
相关产品推荐
相关产品推荐

