Vb.net 需要知道为什么代码会重复自身

Vb.net 需要知道为什么代码会重复自身,vb.net,repeat,Vb.net,Repeat,程序应该从文本框中获取输入,以便从InputBox将所需数量的数字输入列表框 然后,它应该只得到偶数的平均值,然后将该平均值显示在列表框中 在它的当前状态下,程序将执行它打算执行的操作,它只是重复计算代码。只有在button过程下添加Output call语句时才会发生这种情况 您调用了两次计算 从btnCalculate\u单击 从输出调用的平均值 使用断点和逐步调试。你只需要知道为什么它会重复两次。 Public Class Form1 Private Sub btnCalculate_Cl

程序应该从文本框中获取输入,以便从InputBox将所需数量的数字输入列表框

然后,它应该只得到偶数的平均值,然后将该平均值显示在列表框中

在它的当前状态下,程序将执行它打算执行的操作,它只是重复计算代码。只有在button过程下添加Output call语句时才会发生这种情况

您调用了两次计算

从btnCalculate\u单击 从输出调用的平均值
使用断点和逐步调试。你只需要知道为什么它会重复两次。
Public Class Form1
Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
    Dim EvenNum, EvenNumCount, EvenNumAverage, Number, Result As Integer
    Calculations(EvenNum, EvenNumCount)
    GetInput(Number)
    Output(Result)

End Sub
Sub GetInput(ByRef Number)
    Number = txtInput.Text
End Sub
Sub Calculations(ByRef EvenNum, ByRef EvenNumCount)
    Dim ListedNumbers, lstOutputSize As Integer
    GetInput(lstOutputSize)
    For i As Integer = 0 To lstOutputSize - 1
        ListedNumbers = InputBox("Enter Numbers", "Input")
        lstOutput.Items.Add(ListedNumbers)
    Next
    For i As Integer = 0 To lstOutput.Items.Count - 1
        If (CInt(lstOutput.Items(i)) Mod 2 = 0) Then
            EvenNum += lstOutput.Items(i)
            EvenNumCount += 1
        End If
    Next
End Sub

Function Average(ByRef EvenNumAverage As Integer) As Integer
    Dim EvenNum, EvenNumCount As Integer
    Calculations(EvenNum, EvenNumCount)
    EvenNumAverage = EvenNum / EvenNumCount
    Return EvenNumAverage

End Function

Sub Output(ByRef EvenNumAverage)
    lstOutput.Items.Add(Average(EvenNumAverage))
End Sub