如何使这个Java for循环更易读?

huangapple go评论120阅读模式
英文:

How Can This Java For Loop Be More Readable?

问题

我正在尝试找到一种方法来减少这种重复,我尝试过使用更多的for循环,但由于每个数组的遍历方式都不同,我感到困难。

  1. for (int i = 0; i < size; i++) {
  2. warray[i][0] = narray[i][0] * pcarray[i][0];
  3. warray[i][1] = narray[i][0] * pcarray[i][1];
  4. warray[i][2] = narray[i][1] * pcarray[i][0];
  5. warray[i][3] = narray[i][1] * pcarray[i][1];
  6. warray[i][4] = narray[i][2] * pcarray[i][0];
  7. warray[i][5] = narray[i][2] * pcarray[i][1];
  8. warray[i][6] = narray[i][3] * pcarray[i][0];
  9. warray[i][7] = narray[i][3] * pcarray[i][1];
  10. warray[i][8] = narray[i][4] * pcarray[i][0];
  11. warray[i][9] = narray[i][4] * pcarray[i][1];
  12. warray[i][10] = narray[i][5] * pcarray[i][0];
  13. warray[i][11] = narray[i][5] * pcarray[i][1];
  14. warray[i][12] = narray[i][6] * pcarray[i][0];
  15. warray[i][13] = narray[i][6] * pcarray[i][1];
  16. warray[i][14] = narray[i][7] * pcarray[i][0];
  17. warray[i][15] = narray[i][7] * pcarray[i][1];
  18. warray[i][16] = narray[i][8] * pcarray[i][0];
  19. warray[i][17] = narray[i][8] * pcarray[i][1];
  20. warray[i][18] = narray[i][9] * pcarray[i][0];
  21. warray[i][19] = narray[i][9] * pcarray[i][1];
  22. }
英文:

I am trying to figure out a way to achieve this without so much repetition, I have tried using more for loops, but since each array has to been looped through so differently I am struggling.

  1. for (int i = 0; i &lt; size; i++) {
  2. warray[i][0] = narray[i][0] * pcarray[i][0];
  3. warray[i][1] = narray[i][0] * pcarray[i][1];
  4. warray[i][2] = narray[i][1] * pcarray[i][0];
  5. warray[i][3] = narray[i][1] * pcarray[i][1];
  6. warray[i][4] = narray[i][2] * pcarray[i][0];
  7. warray[i][5] = narray[i][2] * pcarray[i][1];
  8. warray[i][6] = narray[i][3] * pcarray[i][0];
  9. warray[i][7] = narray[i][3] * pcarray[i][1];
  10. warray[i][8] = narray[i][4] * pcarray[i][0];
  11. warray[i][9] = narray[i][4] * pcarray[i][1];
  12. warray[i][10] = narray[i][5] * pcarray[i][0];
  13. warray[i][11] = narray[i][5] * pcarray[i][1];
  14. warray[i][12] = narray[i][6] * pcarray[i][0];
  15. warray[i][13] = narray[i][6] * pcarray[i][1];
  16. warray[i][14] = narray[i][7] * pcarray[i][0];
  17. warray[i][15] = narray[i][7] * pcarray[i][1];
  18. warray[i][16] = narray[i][8] * pcarray[i][0];
  19. warray[i][17] = narray[i][8] * pcarray[i][1];
  20. warray[i][18] = narray[i][9] * pcarray[i][0];
  21. warray[i][19] = narray[i][9] * pcarray[i][1];
  22. }

答案1

得分: 4

虽然不同,但它们确实遵循一种模式:

  1. for (int i = 0; i < size; i++)
  2. for (int j = 0; j < 20; j++)
  3. warray[i][j] = narray[i][j/2] * pcarray[i][j%2];
英文:

While different, they do follow a pattern:

  1. for (int i = 0; i &lt; size; i++)
  2. for (int j = 0; j &lt; 20; j++ )
  3. warray [i][j] = narray [i][j/2] * pcarray[i][j%2];

huangapple
  • 本文由 发表于 2020年8月5日 06:24:48
  • 转载请务必保留本文链接:https://go.coder-hub.com/63255882.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定