问题学习 For...Next 循环

Issue learning For...Next loop

以下是我遇到问题的练习。

按钮的 Click 事件过程应该在一个标签中显示从 14 到 23 的整数个数,在另一个标签中显示这些整数的总和。使用 For…Next 语句对过程进行编码。保存解决方案,然后启动并测试应用程序。 (程序应显示数字 10 和 185。)

我能够显示总和 185,但不明白如何显示 14 到 23 之间的数字 (10) 的数量。感谢任何帮助。

Public Class frmMain
    Private Sub btnShow_Click(sender As Object, e As EventArgs) Handles btnShow.Click
        Dim intSum As Integer
        For intNum As Integer = 14 To 23
            lblShow.Text = lblShow.Text & intNum.ToString & "     "
            intSum += intNum
            lblSum.Text = intSum.ToString
        Next
    End Sub
End Class

display the number of integers from 14 to 23

这可以用几种方式解释:

  1. 显示两个数字之间的整数个数(例如 23 - 14)
  2. 显示两个数字之间的每个单独整数(例如 14、15、16 等)

如果是前者,则只需用较小的数字减去较大的数字,并将该值显示在标签中:

LabelIntegerCount.Text = (23 - 147).ToString()

如果是后者,则在 For/Next 循环内将当前迭代的计数器附加到标签:

For intNum As Integer = 14 To 23
    LabelIntegerCount.Text &= intNum.ToString() & Environment.NewLine
    ' ...
Next

只需声明 sum 和 count 局部变量并在 For 中适当地递增它们。您只需要在计算完成后更新一次 Label.Text

Dim intSum As Integer
Dim intCount As Integer
For intNum As Integer = 14 To 23
    intSum += intNum
    intCount += 1
Next
lblSum.Text = intSum.ToString()
lblShow.Text = intCount.ToString()

我知道你的作业有 For 要求,但 .NET 有一些内置功能可以生成数字列表、对它们求和并计算它们。

Dim start = 14
Dim finish = 23
Dim numbers = Enumerable.Range(start, finish - start + 1)
lblSum.Text = numbers.Sum().ToString()
lblShow.Text = numbers.Count().ToString()

两种方法都会产生您需要的输出