【问题标题】:How to calculate average of arrays from array list?如何从数组列表中计算数组的平均值?
【发布时间】:2017-11-13 13:33:48
【问题描述】:

我在 VB.NET 中有一个 ArrayList。

例如 ArrayList 有两个数组:AList(arr,arr):

Dim AList As ArrayList = New ArrayList((1,2,3,4,5,6,7,8,9,10)
                                       (2,3,4,5,6,7,8,9,10,11))

我想要的是给定数组的平均值,所以:

所以最终的数组将是(1.5,2.5,3.5,4.5,5.5.........10.5)

注意: Arraylist 数量和数组长度会发生变化。

我尝试了以下代码:

For k = 0 To 9 
    Dim sum As Short 
    Dim a As Array 

    For z = 0 To 1 
        sum = sum + AList.Item(a(k)) 
    Next 

    finalarr(k) = sum / 2 
    RichTextBox1.AppendText(finalarr(k)) 
Next

【问题讨论】:

  • 到目前为止你尝试过什么?
  • 我对 vb.net 有点陌生,但尝试了以下代码 For k = 0 To 9 Dim sum As Short Dim a As Array For z = 0 To 1 sum = sum + AList.Item(a (k)) 下一个 finalarr(k) = sum / 2 RichTextBox1.AppendText(finalarr(k)) 下一个
  • 请编辑您的问题以包含您尝试过的内容并使用格式化按钮将其格式化为代码。这样阅读会更容易很多
  • ArrayList 中的所有数组是否都一样大?
  • 是的,所有数组的大小都相同

标签: vb.net arraylist average


【解决方案1】:
Dim i As Integer = 0
Dim count As Inetger = 0
Dim avgList As List(Of Integer) = New List(Of Integer)()

For Each arr As Integer() In AList
    i = 0
    count += 1
    For Each thing as Integer In arr
        i += 1
        If avgList.Count >= i Then
            avgList.Item(i) = ((avgList.Item(i) + thing) / count)
        Else
            avgList.Add(i)
        End If
    Next
Next

【讨论】:

  • 感谢您的回复,但我想在 arraylist 中添加所有数组(对于给定的索引)。如果您看到上面的结果数组,它将帮助您理解我的意思。
  • 我修改了你的代码以获得我想要的答案,谢谢。
  • 嗨,我现在面临的问题是,当我遍历列表并尝试计算它时只显示最后一项,似乎每次循环都会覆盖 var。你能帮忙吗?
  • 将您当前的代码编辑到问题中,我们来看看。
猜你喜欢
  • 1970-01-01
  • 2012-06-03
  • 2023-03-24
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多