首页 > 解决方案 > Visual Basic - 从 FOR 循环中删除值

问题描述

我设法在 Visual Basic 中创建了一个重复数字的循环。所以122333444455555等

  Dim u As Long, j As Long

  For u = 1 To 5
        For j = 1 To u
              Console.Write(u)
        Next j
  Next u

现在,我想创建一个For循环,就像上面的循环一样,但在这种情况下,它只包含 1,333,55555。我该怎么做呢?

标签: visual-studiofor-loop

解决方案


使用外部 for 循环中的Step选项使其计数为二,从而只为您提供奇数:

Sub Main()
    For u As Long = 1 To 5 Step 2
        For j As Long = 1 To u
            Console.Write(u)
        Next j
    Next u

    Console.WriteLine()
    Console.Write("Press any key to quit...")
    Console.ReadKey()
End Sub

输出:

133355555
Press any key to quit...

另一种方法是将外部循环计数为 1,然后使用Mod运算符仅对奇数执行内部循环:

For u As Long = 1 To 5
    If (u Mod 2) = 1 Then ' only work with odd "u" values
        For j As Long = 1 To u
            Console.Write(u)
        Next j
    End If
Next u

仅当“u”是偶数时(添加一个Else块来处理这些情况),我才推荐这种方法。


推荐阅读