【发布时间】: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