2017-05-23 3 views
-4

Wie ergibt sich ein Array von Ganzzahlen, wie kann ich den Durchschnitt dieses Arrays in VB.NET berechnen?Wie berechne ich den Durchschnitt eines Arrays?

Die Array-Initialisierung ist unten:

Public Class Form1   
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click  
     Dim numbers() As Integer = {1, 2, 3, 4, 5} 
    End Sub 
End Class 
+1

verwenden, die Sie mit haben Problem trennen? Summieren von Zahlen aus einem Array oder Teilen? : o – BartoszKP

+1

Die Frage ist nicht klar. Wie ist das eine C# -Frage? – EJoshuaS

+0

Sie einfach anzeigen und die Zahlen zusammenfassen und den Durchschnitt finden? (Sorry, ich bin neu in der Programmierung) – Tony

Antwort

0

Es gibt viele Möglichkeiten, dies zu tun. Sie sind alle einfach. Hier sind zwei.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim numbers() As Integer = {1, 2, 3, 4, 5, 6} 
    Dim sum As Integer = 0 

    'method 1 - more or less the way you'd do it by hand 
    For Each n In numbers 
     sum += n 
    Next 
    Dim average As Double = sum/numbers.Length 
    MessageBox.Show(average.ToString()) 

    'method 2 - just use the array's extension method 
    MessageBox.Show(numbers.Average()) 
End Sub 
+0

Keine Notwendigkeit für die' New List (Of) ', rufen Sie einfach' numbers.Average 'extention ...' numbers' ist bereits eine Folge von Ganzzahlen, keine Notwendigkeit, eine Liste zu erstellen, wenn Sie bereits etwas zum Aufzählen haben ... Drehen Sie auch 'Option Strict On', Sie haben einige implizite Konvertierungsfehler. Gedanken? – Codexer

+0

Danke, das schätze ich sehr. – Tony

+0

@Tony du bist willkommen. Viel Glück, wenn Sie Fortschritte machen. – JosephStyons

0

So würde ich es machen.

Private Sub Button1_Click(autogenerated stuff) Handles Button1.Click 
    Dim numbers() As Integer = {1, 2, 3, 4, 5, 6} 
    Dim Average As Integer 

'add up all numbers in array (the number in parentheses is the index, which starts at 0) 
    Average = (numbers(0) + numbers(1) + numbers(2) + numbers(3) + numbers(4) _ 
       + numbers(5))/6 

Dann, je nachdem, ob Sie es in einem Etikett oder ein Meldungsfeld angezeigt werden sollten, würden Sie entweder

Me.Label1.Text = "The average of these numbers is " & Average 

oder

MessageBox.Show("The average of these numbers is " & Average) 
Verwandte Themen