获取数组中两个相邻元素的平均值

时间:2017-07-13 12:51:05

标签: arrays vb.net

我试图得到数组(x)中两个相邻元素的平均值,并将它们存储到一个新数组(m)中。

Module Module1

Sub Main()
    Dim x = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0}

    Dim m() As Double = New Double() {14}

    For i = 0 To x.Length - 1
        m(i) = (x(i) + x(i + 1)) / 2
    Next
    For Each d As Double In m
        Console.WriteLine(d)
    Next
    Console.ReadLine()

End Sub

End Module

我收到错误

  

索引超出了数组的范围

对于m数组,但是我无法理解为什么。

2 个答案:

答案 0 :(得分:2)

索引从0开始并以Length-1结束。循环结束时的索引i + 1将等于长度,因此它将超出范围。

例如     昏暗x = {1,2,3,4} 索引的范围是0到3。

答案 1 :(得分:2)

你也有问题,m只是一个项目的长度。您应该使用更多项初始化数组。

Dim m(14) As Double

我强烈建议您了解断点和调试。另外,一次编写一小段代码并进行测试。不要试图从一开始就编写整个程序。