【问题标题】:Using variable/dynamic condition variable in nested for loops在嵌套 for 循环中使用变量/动态条件变量
【发布时间】:2014-01-18 20:14:08
【问题描述】:

到目前为止,我什至不知道如何正确解决这个问题。 在这样的嵌套循环中

for (int i=0;i>0;i++)
{
   for(int k=0;k<0;k++)
   {
   }
}

如果我们使用 k 会有什么样的应用

我有这个问题是因为我想创建一个循环,它像星形打印一样迭代 * char 打印左三角形,但它会在光标移动时在二维矩阵上迭代,它会在诸如 this 的数组项上迭代

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

【问题讨论】:

  • 那个循环没用,因为当i = 0 条件i &gt; 0 为假时,它永远不会进入for 的主体。
  • 您需要在此处修复循环结束条件。你的第一个循环永远不会像它写的那样开始,内部循环永远不会结束。
  • 感谢您的快速回复。我知道循环没有用我只是写了那个来询问动态变量而不是值。你对我的目标有什么建议?

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


【解决方案1】:

您必须更改第一个for 条件,因为当i = 0 条件i &gt; 0 为假时,它永远不会进入循环。

请注意,当您使用 line be line 时,k 必须以这种模式迭代:[0, 01, 012, 0123]i in [0, 1, 2, 3]。也就是说k必须迭代直到达到i的值,所以nested for的条件必须是k &lt; 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 循环的任何使用中是否有任何使用变量/动态条件值而不是静态的应用程序?
  • 变量/动态条件是什么意思?你的意思是i &lt; some_variable表格的条件吗?
  • 哦,我没有投反对票。我尝试过投票,但它需要 15 个声誉。抱歉,我会在获得积分后立即投票。我是该网站的新手。
  • 是的,一些增加/减少的变量。但我想没有任何合理的使用区域
  • @user3210719 - 如果您认为它很好地回答了问题,您可以选择它作为您选择的答案。这将帮助您获得一些分数,并且选择答案是 Stack Overflow 的方式。
【解决方案2】:

看起来你想要的是类似的东西

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

【讨论】:

    【解决方案3】:

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

    现在您要做的就是将您写下的内容转化为代码。

    我会给你一个提示。在内部循环中,for(int k=0;k&lt;0;k++),想知道您将如何更改它以实现您正在寻找的行为。

    坚持下去,你会成功的。困难的部分已经完成。

    【讨论】:

    • 感谢您的激励回答!我很惊讶它是多么容易,我只是写了一个嵌套的 for 循环并错误地将更大的运算符写错了。我只是想提出一个问题来问其他问题。也谢谢你的激励:)
    猜你喜欢
    • 2023-03-15
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多