0

計算が機能しない理由がわかりません。私は1から12のためにやっていて、それは私に12の入力を与えますが、私のエントリを13として数えますか?私は何が欠けていますか。

0から11に変更しても同じです。何が問題なのかわかりませんが、見えず、どこを見ればいいのかわかりません。

最終的に12サイクルになり、intEntriesが12になる必要があります...ヘルプ!ありがとう!

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'initialize accumulator
        Dim decEntries As Decimal
        ' For loop to ask for input.
        For decEntries = 1 To 12 Or strMonthlyAvg = " "
            strMonthlyAvg = InputBox("Please Enter the Average for Month # " & decEntries & ":")

            lstTemps.Items.Add(strMonthlyAvg)
            decMontlyAvg = Convert.ToDecimal(strMonthlyAvg)
            ' This will add the montly average to the total Average Temperature for 
            ' calculations
            decTotalTemp += decMontlyAvg

        Next
        ' Calculation to provide the average temp for all entered values
        decAnnualAvg = decTotalTemp / decEntries
        ' convert annual average to string
        strAnnualAvg = Convert.ToString(decAnnualAvg)
        ' Display the results for the user
        lblResults.Text = "The average annual temperature " & vbCrLf &
                            "based on your entries is: " & strAnnualAvg & "."


    End Sub
4

1 に答える 1

4

このトピックに関するあなたの最後の質問に対する私の答えによると、ループがラインにぶつかるときはいつでも:

Next

...カウンターをインクリメントしますdecEntries

したがって、12回目のループを通過するまでに、最終的にNext変数の値を作成するためにさらに1が追加されます13。その後、12を超えたため、ループを終了します。

ループを使用して書き直すことができWhileます。ループを調べてみましょう。または、ロジックを変更して、ファイナルNextを考慮に入れます。

于 2012-04-17T16:38:09.743 に答える