Arrays 使用函数求平均值。运动模拟

Arrays 使用函数求平均值。运动模拟,arrays,vb.net,function,mean,Arrays,Vb.net,Function,Mean,首先我想说的是,我是vb.net的初学者,一般来说,我是一名编程新手 我试图找出数组中数字的平均值 到目前为止,我的代码是这样的 Function getMean() As Double Dim DblArray(lstbxInput.Items.Count - 1) As Double Dim totalsum As Double Dim i As Integer For i = 0 To dblArray.Length - 1

首先我想说的是,我是vb.net的初学者,一般来说,我是一名编程新手

我试图找出数组中数字的平均值

到目前为止,我的代码是这样的

 Function getMean() As Double
        Dim DblArray(lstbxInput.Items.Count - 1) As Double
        Dim totalsum As Double
        Dim i As Integer
        For i = 0 To dblArray.Length - 1
            totalsum += DblArray(i)
        Next i
        dblmean = totalsum / DblArray.Length
        Return dblmean

    End Function
最后,我需要dblmean返回dblarray数的平均值。 这是正确的吗? 很明显这是错误的,因为我试着在标签上打印值,结果总是为零。为什么? 代码有问题吗?或者打印出的值有什么问题吗

此外,这是用于打印dblmean的代码

lblLrgAns.Text=dblmean.ToString


它发生在我点击一个按钮时

一个简单的方法是使用
System.Linq
namepsorts中的扩展方法(因此请记住添加
Import

在您的情况下,需要首先初始化数组。我猜
lstbxInput
中的项目已经是双倍的了

Dim DblArrayAs As Double() = lstbxInput.Items.Cast(Of Double)().ToArray()
当你这么做的时候

Dim DblArray(lstbxInput.Items.Count - 1) As Double
所有
DblArray
项都是0,但您从未更改代码中的任何
DblArray
项,因此
dblmean
也将是0。在计算平均值之前,您需要分配
DblArray
的每个项目

我猜这与您前面的问题有关:,所以下面是您的代码应该是什么样子的

Function getMean() As Double
    Dim DblArray(lstbxInput.Items.Count - 1) As Double

    'get the items from lstbxInput
    getNumbers(DblArray)

    Dim totalsum As Double
    Dim i As Integer
    For i = 0 To dblArray.Length - 1
        totalsum += DblArray(i)
    Next i
    dblmean = totalsum / DblArray.Length
    Return dblmean

End Function

看起来你的阵列中没有任何东西。设置断点以查看
Function getMean() As Double
    Dim DblArray(lstbxInput.Items.Count - 1) As Double

    'get the items from lstbxInput
    getNumbers(DblArray)

    Dim totalsum As Double
    Dim i As Integer
    For i = 0 To dblArray.Length - 1
        totalsum += DblArray(i)
    Next i
    dblmean = totalsum / DblArray.Length
    Return dblmean

End Function