Vb.net Visual Studio 2012 MessageBox。显示逻辑错误

Vb.net Visual Studio 2012 MessageBox。显示逻辑错误,vb.net,visual-studio-2012,logic,messagebox,Vb.net,Visual Studio 2012,Logic,Messagebox,大家好,我有一些代码,可以创建一个消息框,当用户更改轨迹栏(滑块控制)时,该消息框会出现。它将进行一些计算,然后检查用户是否通过或失败了应用程序。问题是,我的逻辑无法解释24小时后,当水位高于100时,用户会收到一个消息框,告诉他们他们已经通过了。但当我的起始数量为500时,应用程序会自动假定用户已通过,并且不会给出消息。我已经注释掉了第二个if语句,因为如果我没有注释掉它,它只是从那里开始的。谢谢你的帮助 这是我的密码: Private Sub btnCalculate_Click(s

大家好,我有一些代码,可以创建一个消息框,当用户更改轨迹栏(滑块控制)时,该消息框会出现。它将进行一些计算,然后检查用户是否通过或失败了应用程序。问题是,我的逻辑无法解释24小时后,当水位高于100时,用户会收到一个消息框,告诉他们他们已经通过了。但当我的起始数量为500时,应用程序会自动假定用户已通过,并且不会给出消息。我已经注释掉了第二个if语句,因为如果我没有注释掉它,它只是从那里开始的。谢谢你的帮助

这是我的密码:

    Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click

    Dim Gallons As Double = 500 'Constant Starting amount
    Dim LeakRate As Double = 0.1  'Constant leak for 24hr
    Dim Remainder As Integer    'Creating a variable
    Dim Time As Integer = tkbSlider.Value 'Gets the Value of the Slider or Track Bar
    lstRemainingGallons.Items.Clear()  'Clears the Collection of ListBox

    Try

        For n As Integer = 1 To 24  'Setting Up the Loop 
            Remainder = CInt(Gallons * LeakRate) - Time 'Math Calculation 
            Gallons = CInt(Gallons - Remainder)  'More Math 
            If Gallons <= 99 Then       'Displaying Message

                MessageBox.Show("Fish died at " & n & " hours when the remaining gallons were " & Gallons, "Dead and Stinking Fish", MessageBoxButtons.OK
                    )
                Exit Sub
            End If

            'If Gallons > 100 Then  'Displaying Message
                'MessageBox.Show("Get out the BBQ! You made it!", "Fish Frying Time!")
            'End If
            lstRemainingGallons.Items.Add("Hour # " & n & " -  " & Gallons & "gallons")

        Next
    Catch ex As Exception   ' Catching an Execption if any?

    End Try

  End Sub
  End Class
Private Sub btnCalculate\u Click(发送者作为对象,e作为事件参数)处理btnCalculate。单击
双倍暗加仑=500'恒定启动量
变暗泄漏率为Double=0.1'持续泄漏24小时
将余数调整为整数“创建变量”
Dim Time As Integer=tkbSlider.Value'获取滑块或轨迹栏的值
lstRemainingGallons.Items.Clear()'清除ListBox的集合
尝试
对于n,作为整数=1到24'设置循环
余数=辛特(加仑*泄漏率)-时间的数学计算
加仑=辛特(加仑-余数)'更多数学
如果加仑数为100,则显示信息
MessageBox.Show(“走出烤箱!你成功了!”,“炸鱼时间!”)
"完"
lstRemainingGallons.Items.Add(“小时#“&n&“-”&Gallons&“加仑”)
下一个
捕获ex作为异常“捕获执行选项(如果有)?
结束尝试
端接头
末级
问题是,我的逻辑无法解释24小时后,当水位高于100时,用户会收到一个消息框,告诉他们他们已经通过了

您不应该在for循环之后(24小时后)显示消息吗

对于n作为整数=1到24'设置循环
余数=辛特(加仑*泄漏率)-时间的数学计算
加仑=辛特(加仑-余数)'更多数学

如果加仑感谢你看我的代码。我现在觉得自己像个白痴,但这只是学习的一部分。我知道我已经正确编码了,只是现在不知道最后一个信息框的位置。但这真的很管用谢谢@不受限制
For n As Integer = 1 To 24  'Setting Up the Loop 
        Remainder = CInt(Gallons * LeakRate) - Time 'Math Calculation 
        Gallons = CInt(Gallons - Remainder)  'More Math 
        If Gallons <= 99 Then       'Displaying Message

            MessageBox.Show("Fish died at " & n & " hours when the remaining gallons were " & Gallons, "Dead and Stinking Fish", MessageBoxButtons.OK
                )
            Exit Sub
        End If


        lstRemainingGallons.Items.Add("Hour # " & n & " -  " & Gallons & "gallons")

    Next
If Gallons > 100 Then  'Displaying Message
     MessageBox.Show("Get out the BBQ! You made it!", "Fish Frying Time!")
End If