【问题标题】:Nested for loops and the placement of variables嵌套 for 循环和变量的放置
【发布时间】:2023-03-21 01:38:01
【问题描述】:

我目前正在尝试解决一个问题,即我尝试在三角数组中找到最小的三角和。 (我目前使用的数组是一个3x3的三角数组)

  colAmt =1;
  int tempCol = rows;
  int tempSum=0;
  rows = 3;

  for(int t=0;t<rows;t++)
  {

      for(int col = 0; col<colAmt; col++)
      {
          tempCol=0;
          tempSum =0;

          for(int m=t;m<rows;m++)
          {
              System.out.println(m+", "+tempCol);
              tempSum = tempSum + sumTriangle[m][tempCol];

                      tempCol++;
                      if(tempSum<triSum)
                      {
                          triSum = tempSum;
                      }
          }
      }
      colAmt++;
  } 

当我执行程序时,程序打印出来:

(0, 0)
(1, 1)
(2, 2)
(1, 0)
(2, 1)
(1, 0)
(2, 1)
(2, 0)
(2, 0)
(2, 0)

什么时候应该打印:

(0, 0)
(1, 1)
(2, 2)
(1, 0)
(2, 1)
(1, 1)
(2, 2)
(2, 0)
(2, 1)
(2, 2)

我很确定这是我处理 tempCol 变量的方式的问题,但我不确定如何解决它。 任何帮助表示赞赏。谢谢!

【问题讨论】:

  • sumTriangle 中的值是多少?三角和是什么意思?
  • ... 为什么一个 3x3 的三角形数组应该给出 10 个结果?
  • 这些都与我提出的问题无关,所以我没有包括它们。我的问题只是关于我的循环中的索引之间的差异。
  • 而这里打印的结果就是代码中print语句打印的索引。数组中只有 6 个元素。

标签: java loops for-loop nested-loops


【解决方案1】:

你可以通过替换得到你想要的数字

tempCol=0;

tempCol=col;

【讨论】:

  • 非常感谢!你太棒了。
  • @user3006932 谢谢;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-21
相关资源
最近更新 更多