Arrays 使用函数求平均值。运动模拟
首先我想说的是,我是vb.net的初学者,一般来说,我是一名编程新手 我试图找出数组中数字的平均值 到目前为止,我的代码是这样的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
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