鉴于需要循环到任意 int 值,将值转换为数组并 for-each 数组是更好的编程实践,还是只使用传统的 for 循环?
仅供参考,我正在计算多次投掷 6 面骰子的 5 和 6 结果(“命中”)的数量。我的任意 int 值是 dicePool ,它表示多次抛出的次数。
据我了解,有两种选择:
将 dicePool 转换为数组并为每个数组:
public int calcHits(int dicePool) { int[] dp = new int[dicePool]; for (Integer a : dp) { // call throwDice method } }
使用传统的 for 循环:
public int calcHits(int dicePool) { for (int i = 0; i < dicePool; i++) { // call throwDice method } }
我的观点是选项 1 是笨拙的代码并且涉及不必要的数组创建,即使 for-each 循环比选项 2 中的传统 for 循环更有效。