[英]Using variable/dynamic condition variable in nested for loops
我不知道如何正确地解决这个问题,甚至到谷歌为止。 在这样的嵌套循环中
for (int i=0;i>0;i++)
{
for(int k=0;k<0;k++)
{
}
}
如果使用k,将会有什么样的应用程序
我有这个问题,因为我想做一个循环,就像使用* char打印左三角形的星形打印一样进行迭代,但是当光标移动时,它会在二维矩阵上进行迭代,例如在数组项上进行迭代
a[0][0]
a[1][0], a[1][1]
a[2][0], a[2][1], a[2][2]
a[3][0], a[3][1], a[3][2], a[3][3]
我想找出一个for循环或诸如此类的可以迭代数组的东西。 你有什么建议?
您必须更改第一for
条件,因为当i = 0
的条件i > 0
是假的,所以它不会进入循环。
请注意,当您沿线对齐时, k
必须以以下模式进行迭代: [0, 01, 012, 0123]
而i
在[0, 1, 2, 3]
。 换句话说, k
必须迭代直到达到i
的值,因此nested for
的条件必须为k < i + 1
。
for (int i = 0; i < 4; i++) {
for (int k = 0; k < i + 1; k++) {
// Here you should access to the array
// array[i][k]
System.out.print(i + " " + k + " - "); // [DEBUG]
}
System.out.println(); // [DEBUG]
}
输出:仅查看索引
0 0 -
1 0 - 1 1 -
2 0 - 2 1 - 2 2 -
3 0 - 3 1 - 3 2 - 3 3 -
看起来您想要的是
for (int i = 0; i < SOME_LIMIT; ++i) {
for (int k = 0; k <= i; ++k) {
do_something_with (a[i][k]);
}
}
看来您已经完成了艰巨的任务-设计应用程序的基本前提并在纸上写下您想做的事情。
现在,您要做的就是将您写下的内容转换为代码。
我给你一个提示。 在内部循环中, for(int k=0;k<0;k++)
,想知道如何更改此值以实现所需的行为。
坚持下去,您会到达那里。 困难的部分已经完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.