繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM