我使用VB很新,而且我是编程的初学者,所以我为糟糕/不整洁的代码道歉:P
我无法看到我在这里做错了什么。该程序应该从用户获得3个数字,并且这3个数字必须加起来,然后可以被3整除以使其有效。此外,该数字不能比前一个数字少1。不遵守这些规则'应该会在消息框中显示" INVALID SIDESWAP"。我认为这是MOD部分的问题,因为无论我输入什么,它总是返回" VALID SIDESWAP"。任何帮助将不胜感激:)
Dim FirstNumber, SecondNumber, ThirdNumber As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = FirstNumber
TextBox2.Text = SecondNumber
TextBox3.Text = ThirdNumber
If (FirstNumber + SecondNumber + ThirdNumber) Mod 3 = 0 Then
If (FirstNumber - SecondNumber) <> 1 And (SecondNumber - ThirdNumber) <> 1 And (ThirdNumber - FirstNumber) <> 1 Then
MsgBox("VALID SIDESWAP")
Else
MsgBox("INVALID SIDESWAP 1")
End If
Else
MsgBox("INVALID SIDESWAP 2")
End If
End Sub
答案 0 :(得分:0)
heirich说的是真的,只要你在文本框中输入Numbers就可以解决问题。 如果你想避免任何错误,快速的方法是:
Firstnumber = val(Textbox1.text)
等。 你使用Integers作为firstnumber,val也会识别Decimals,所以你也可以使用cdbl。
Firstnumber = cdbl(Textbox1.text)
但是空文本框会产生错误,因此请使用组合
Firstnumber = cdbl(val(Textbox1.text))