循环 - 加法 - Visual Basic

4

因此,程序必须将“x”到“y”的所有数字相加。

但它还必须显示所有添加的数字:

例如,从10到20应该显示10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 = 165。

这是我已经写的代码:

Dim firstnum As Integer = Val(TextBox1.Text)
    Dim secondnum As Integer = Val(TextBox2.Text)
    Dim sum As Integer = 0


    While firstnum <= secondnum

        sum = sum + firstnum
        firstnum = firstnum + 1

        Label3.Text = firstnum & "+"

    End While


    suum.Text = "  =  " & Val(sum)

1
你忘记了提出问题或解释问题。 - Oded
你已经发布了很多看起来像是老师布置的任务或作业的问题,如果是这种情况,那么通过SO获取答案可能不会教你任务旨在教授的内容。 - bendataclear
谢谢关心,但是当我提问时,我从答案中学到东西,而且通常与我想的接近...计算机编程是我喜欢做的事情,所以我不是为了应付而提问,只是因为我是VB的新手(只是因为我的学校只有这门课)...我已经有Java、HTML和CSS方面的经验。请放心,我正在学到很多。@bendatclear - Ds.109
3个回答

3

以下是要注意的事项:

Label3.Text = firstnum & "+"

每次循环时,您都在Label3覆盖该值。您可能想要做的是将现有值与下一个数字连接起来

以下代码应该可以帮助您:

Label3.Text = Label3.Text & firstnum & " + "

3
如果您使用Linq,那么可以使用Enumerable.RangeEnumerable.Sum函数:
Dim startNum = Int32.Parse(TextBox1.Text)
Dim endNum = Int32.Parse(TextBox2.Text)
Dim numbers = Enumerable.Range(startNum, endNum - startNum + 1) 'inclusive, therefore + 1
Label3.Text = String.Join(" + ", numbers)
suum.Text = numbers.Sum()

0

你的Label3.Text将只包含算法中最后一个数字和结尾处的“+”号。你应该替换


Label3.Text = firstnum & "+" 

使用

Label3.Text = Label3.Text & firstnum & "+ "

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接