【问题标题】:How to code Visual basic for-loop step increment?如何编写 Visual basic for 循环步长增量?
【发布时间】:2015-02-19 14:27:36
【问题描述】:

我无法完成我的项目。我需要显示一个工作时间表,他必须从第 1 周开始每第三个周末工作。假设一年中的最后一周是 52。

程序应该如下所示:

     Week 1         Week 4         Week 7
     Week 10        Week 13        Week 16
     Week 19        Week 22        Week 25
     Week 28        Week 31        Week 34
     Week 37        Week 40        Week 43
     Week 46        Week 49        Week 52

但我的节目只显示第 4 周

这是我的代码。我应该如何解决这个问题?

If choice = 1 Then

        Dim colCount As Integer = 0
        Dim weekCounterStart As Integer = 1
        Dim increment As Integer = 3
        Dim maxWeekCounter As Integer = 52
        Dim weekCounter As Integer



        For weekCounter = weekCounterStart To maxWeekCounter Step increment

            weekCounter = weekCounter + increment
            Console.Write(vbTab & "Week " & weekCounter & Environment.NewLine)
            Exit For

            'If it is three columns, write a new line.
            If (colCount >= 2) Then

                colCount = 0
                Console.WriteLine()

            Else
                colCount = +1
            End If


        Next weekCounter

【问题讨论】:

  • 只是添加到蒂姆的答案。删除 Environment.NewLine 并将“colCount = +1”更改为“colCount += 1”,程序将按预期工作。

标签: vb.net loops operators selection increment


【解决方案1】:

为什么要在循环体的第一行增加计数器?这已经由循环本身完成。因此,只需将其删除:

For weekCounter = weekCounterStart To maxWeekCounter Step increment
    ' weekCounter = weekCounter + increment 'REMOVE!!!
    Console.Write(vbTab & "Week " & weekCounter & Environment.NewLine)
    ' Exit For  'REMOVE!!!

你也立即退出循环,所以也要删除Exit For

【讨论】:

  • 啊哈,谢谢。现在它正在按预期工作。
猜你喜欢
  • 2021-02-16
  • 2022-07-08
  • 1970-01-01
  • 2012-10-03
  • 2011-09-08
  • 1970-01-01
  • 2017-05-29
  • 1970-01-01
  • 2015-04-15
相关资源
最近更新 更多