在嵌套for循环中使用变量/动态条件变量

时间:2014-01-18 20:14:08

标签: java c++ arrays for-loop matrix

到目前为止,我还不知道如何正确地解决这个问题。 在嵌套循环中,例如

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循环或能够迭代数组的东西,比如这个。你有什么建议?

3 个答案:

答案 0 :(得分:3)

您必须更改第一个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 - 

答案 1 :(得分:1)

看起来你想要的是像

for (int i = 0; i < SOME_LIMIT; ++i) {
   for (int k = 0; k <= i; ++k) {
      do_something_with (a[i][k]);
   }
}

答案 2 :(得分:0)

看起来你已经完成了困难的部分 - 设计应用程序的基本前提,并在纸上写下你想做的事情。

现在你要做的就是把你写下的内容翻译成代码。

我会给你一个提示。在内部循环for(int k=0;k<0;k++)上,thibnk关于如何更改它以实现您正在寻找的行为。

坚持下去,你会到达那里。困难的部分已经完成。