【问题标题】:How can I Calculate the Average of the Array List如何计算数组列表的平均值
【发布时间】:2013-10-29 10:42:13
【问题描述】:

好的,我需要通过 msgbox 获取数组的大小和数组输入,并在列表框中显示数组列表,然后获取数组列表的平均值。这是我到目前为止的代码:

Private Sub btnCalculate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCalculate.Click

    Dim i, size As Integer
    size = Val(InputBox("Please enter array size"))

    Dim sequence(size) As Integer

    'get array values
    i = 0
    Do While i < size
        sequence(i) = Val(InputBox("Please enter element of array"))
        i = i + 1
    Loop

    i = 0
    Do While i < size
        lstoutArray.Items.Add(sequence(i))
        i = i + 1
    Loop
End Sub

【问题讨论】:

  • 如果你有一个包含数字 1 和 3 的数组,平均值是多少?你是怎么解决的?现在在代码中尝试一下。

标签: arrays vb.net average


【解决方案1】:

虽然这样的事情会起作用:

    Dim lstoutArray As New ArrayList
    Dim lstoutCount As Double = 0
    Dim size As Double
    size = Val(InputBox("Please enter array size"))
    For i = 1 To size
        lstoutArray.Add(Val(InputBox("Please enter element of array")))
        lstoutCount += DirectCast(lstoutArray(lstoutArray.Count - 1), Double)
    Next
    Dim lstoutAverage As Double = lstoutCount / lstoutArray.Count

您可以从这个示例中看到,使用数组列表的主要缺点之一是它不是强类型的。因此,要使用 arraylist 中的值,您必须将它们转换为您需要的类型。

List(Of) 更容易使用,因为它已经是强类型并且具有 Average 扩展名:

    Dim lstoutArray As New List(Of Double)
    Dim size As Double
    size = Val(InputBox("Please enter array size"))
    For i = 1 To size
        lstoutArray.Add(Val(InputBox("Please enter element of array")))
    Next
    Dim lstoutAverage = lstoutArray.Average

【讨论】:

    猜你喜欢
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多