0

ユーザー入力を追加するvb.net2010フォームに取り組んでいます。合計、平均、分散、標準偏差を計算できるプログラムを作りたいです。コードを追加して問題を修正するのを手伝ってくれる人はいますか???? 助けてください....問題を解決しようとしていますが、プログラムを実行するとエラーが発生します "InvalidOperationExceptionが処理されませんでした(フォームの作成中にエラーが発生しました。詳細については、Exception.InnerExceptionを参照してください。エラーは次のとおりです。オブジェクト参照が設定されていませんオブジェクトのインスタンスに。)」

誰かがこの問題を解決するのを手伝ってくれますか?

Public Class Form1
Dim sum As Integer
Dim mean As Double
Dim x(ListBox1.Items.Count - 1) As Integer

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim TotalN As Double = InputBox("The total Number", "Enter a number")
    Dim sum As Single
    Dim b As Integer = ListBox1.Items.Count - 1

    Dim counter As Integer
    For counter = 0 To b
        x(counter) = ListBox1.Items(counter)

        If (Val(x(counter)) = TotalN) Then

            sum = (sum + x(counter)) / TotalN

        End If

    Next
End Sub
End Class
4

1 に答える 1

1

ListBox にアイテムが含まれていない場合、プログラム/フォームの開始時に x 配列が作成されるため、例外が発生すると思います。

メソッドReDim内で配列を実行してみてください。Button1_Click

Public Class Form1
    Dim sum As Integer
    Dim mean As Double
    Dim x(ListBox1.Items.Count - 1) As Integer

    Private Sub Button1_Click() Handles Button1.Click
        Dim TotalN As Double = InputBox("The total Number", "Enter a number")
        Dim sum As Single
        Dim b As Integer = ListBox1.Items.Count - 1

        ReDim x(ListBox1.Items.Count - 1) ' change the size of the array

        Dim counter As Integer
        For counter = 0 To b
            x(counter) = ListBox1.Items(counter)
            If (Val(x(counter)) = TotalN) Then
                sum = (sum + x(counter)) / TotalN
            End If
        Next
    End Sub
End Class
于 2013-02-08T11:00:39.303 に答える