gpt4 book ai didi

java - 我可以简化这个 for 循环吗?

转载 作者:行者123 更新时间:2023-12-01 23:19:42 24 4
gpt4 key购买 nike

以下代码段来自生成 5 x 5 JButton 网格的系统。我需要迭代 JButtonsArrayList 并将 JButton 的行和列传递到 ButtonListener' s 构造函数。目前下面显示的代码的方式是有效的,但我想知道我是否可以清理代码或以任何方式重新考虑。我似乎有很多尝试构建网格的说明。

    int row = 1, col = 1;
for (JButton curButton : view.getButtons()) {

curButton.addActionListener(new ButtonListener(row, col));
row++;

if (row > 5) {
row = 1;
col++;
}
}

有什么方法可以提高质量或简化上述代码段吗?

最佳答案

int iterator = 0;
for (JButton curButton : view.getButtons()) {

curButton.addActionListener(new ButtonListener(iterator%5 + 1, iterator/5 + 1));

iterator++;
}

请注意,我使用的是整数除法,它总是向下舍入。 iterator/5 + 1 会将 {0,1,2,3,4,5,6,...} 映射到 {1,1,1,1,1,2,2.. .}

关于java - 我可以简化这个 for 循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20765838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com