Vb.net 带循环的数之和
因此,对于我的课程,我试图编写一个代码,将数字从1到10相加。例如,如果用户输入3,则该程序将添加1+2+3,最终答案将为6……。我尝试使用循环以及给出答案的显示台面来完成此操作 这是我到目前为止的代码Vb.net 带循环的数之和,vb.net,while-loop,Vb.net,While Loop,因此,对于我的课程,我试图编写一个代码,将数字从1到10相加。例如,如果用户输入3,则该程序将添加1+2+3,最终答案将为6……。我尝试使用循环以及给出答案的显示台面来完成此操作 这是我到目前为止的代码 Option Strict On Public Class frmSumOfNumbers Private Sub btnEnterNumbers_Click(sender As Object, e As EventArgs) Handles btnEnterNumbers.Cli
Option Strict On
Public Class frmSumOfNumbers
Private Sub btnEnterNumbers_Click(sender As Object, e As EventArgs) Handles btnEnterNumbers.Click
'For loop from 0 to counter -1
InputBox("Enter A Positive integer value", "Input needed", "10")
End Sub
Function Validation(ByVal PositiveNumber As Double, ByRef Result As Double) As Boolean
If PositiveNumber > -1 Then
Result = CDbl(PositiveNumber)
Else
'pop message box and return false if not positive
MessageBox.Show("Please enter positive numbers only")
Return False
End If
End Function
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
' Closes the program
Close()
End Sub
End Class
第一个问题是提供一个从用户收集输入值的位置。看看InputBox函数 请注意,is返回一个字符串。我们可以通过提供一个字符串变量从用户那里获得输入
Dim UserInput As String
UserInput = InputBox("Enter A Positive integer value", "Input needed", "10")
但一旦我们到达终点,这个值就会消失!如果我们使用表单级别的变量来收集值,那么只要表单处于打开状态,该变量就会一直存在。表单级别(类级别)变量的另一个优点是,它可以由from中的任何方法显示
我们可以使用数组或列表之类的集合变量。因为我们不确定用户将输入多少数字,所以让我们使用一个列表。对于一个数组,每当我们得到一个新的数字来调整数组的大小时,我们都必须使用ReDim Preserve。列表中不需要这样做。看
在形式层面上
Private IntegerList as New List(Of Integer)
但是我们有一个来自用户的字符串变量。这就是验证代码的作用。我们需要传递用户在输入框中输入的内容(记住InputBox返回一个字符串),因此参数的数据类型为String。我们想要返回一个整数,因此函数的数据类型是Integer。函数中的任何return语句后面都必须跟一个整数值
我使用Integer.TryParse测试输入是否为数字,然后测试数字是否为正。见文件
如果用户输入通过了验证,则该编号将添加到列表中,否则将显示消息
要添加列表,可以使用.Net framework在后台使用列表的.Sum方法进行循环,也可以使用For Each循环自己进行循环。同样的结果
Private IntegerList As New List(Of Integer)
Private Sub AddANumber_Click(sender As Object, e As EventArgs) Handles AddANumber.Click
Dim UserInput = InputBox("Enter A Positive integer value", "Input needed", "10")
Dim RetVal = Validation(UserInput)
If RetVal > -1 Then
IntegerList.Add(RetVal)
Else
MessageBox.Show("Please enter positive numbers only")
End If
End Sub
Function Validation(ByVal UserInput As String) As Integer
Dim ReturnInteger As Integer
If Integer.TryParse(UserInput, ReturnInteger) AndAlso ReturnInteger > -1 Then
Return ReturnInteger
Else
Return -1
End If
End Function
Private Sub DisplayTotal_Click(sender As Object, e As EventArgs) Handles DisplayTotal.Click
Dim Total = IntegerList.Sum
MessageBox.Show($"The Total is {Total}")
Dim LoopTotal As Integer
For Each i In IntegerList
LoopTotal += i
Next
MessageBox.Show($"The LoopTotal is {LoopTotal}")
End Sub
注意:$前面的字符串称为插值字符串。您可以搜索该术语以了解其工作原理。您的第一个问题是提供一个收集用户输入值的位置。看看InputBox函数 请注意,is返回一个字符串。我们可以通过提供一个字符串变量从用户那里获得输入
Dim UserInput As String
UserInput = InputBox("Enter A Positive integer value", "Input needed", "10")
但一旦我们到达终点,这个值就会消失!如果我们使用表单级别的变量来收集值,那么只要表单处于打开状态,该变量就会一直存在。表单级别(类级别)变量的另一个优点是,它可以由from中的任何方法显示
我们可以使用数组或列表之类的集合变量。因为我们不确定用户将输入多少数字,所以让我们使用一个列表。对于一个数组,每当我们得到一个新的数字来调整数组的大小时,我们都必须使用ReDim Preserve。列表中不需要这样做。看
在形式层面上
Private IntegerList as New List(Of Integer)
但是我们有一个来自用户的字符串变量。这就是验证代码的作用。我们需要传递用户在输入框中输入的内容(记住InputBox返回一个字符串),因此参数的数据类型为String。我们想要返回一个整数,因此函数的数据类型是Integer。函数中的任何return语句后面都必须跟一个整数值
我使用Integer.TryParse测试输入是否为数字,然后测试数字是否为正。见文件
如果用户输入通过了验证,则该编号将添加到列表中,否则将显示消息
要添加列表,可以使用.Net framework在后台使用列表的.Sum方法进行循环,也可以使用For Each循环自己进行循环。同样的结果
Private IntegerList As New List(Of Integer)
Private Sub AddANumber_Click(sender As Object, e As EventArgs) Handles AddANumber.Click
Dim UserInput = InputBox("Enter A Positive integer value", "Input needed", "10")
Dim RetVal = Validation(UserInput)
If RetVal > -1 Then
IntegerList.Add(RetVal)
Else
MessageBox.Show("Please enter positive numbers only")
End If
End Sub
Function Validation(ByVal UserInput As String) As Integer
Dim ReturnInteger As Integer
If Integer.TryParse(UserInput, ReturnInteger) AndAlso ReturnInteger > -1 Then
Return ReturnInteger
Else
Return -1
End If
End Function
Private Sub DisplayTotal_Click(sender As Object, e As EventArgs) Handles DisplayTotal.Click
Dim Total = IntegerList.Sum
MessageBox.Show($"The Total is {Total}")
Dim LoopTotal As Integer
For Each i In IntegerList
LoopTotal += i
Next
MessageBox.Show($"The LoopTotal is {LoopTotal}")
End Sub
注意:$前面的字符串称为插值字符串。您可以搜索该术语以了解其工作原理。您的问题是什么?您没有读取
InputBox
返回的值positiveEnumber
和Result
不知从何处出现。没有循环。您的问题是什么?您没有读取由InputBox
返回的值positiveEnumber
和Result
不知从何处出现。没有循环。