我在VB上有这个代码。我没有语法错误,但在运行和测试数字时,我得到"数字无效"或者错误的答案。你能帮我解决这段代码有什么问题吗?谢谢。
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
TextBox2.Text = ""
Dim Num As Integer
Dim str As String
str = TextBox1.Text
Num = Integer.Parse(str)
If Num >= 100 And Num <= 199 Then
TextBox2.Text = "Basement"
ElseIf Num >= 200 And Num <= 500 And Num >= 900 Then
TextBox2.Text = "Main Floor"
ElseIf Num <= 700 And Num >= 501 And Num >= 750 And Num <= 900 Then
TextBox2.Text = "Upper Floor"
ElseIf Num <= 750 And Num >= 700 Then
TextBox2.Text = "Archives"
Else
TextBox2.Text = "Number is not valid"
End If
End Sub
答案 0 :(得分:6)
这是不可能的
ElseIf Num >= 200 And Num <= 500 And Num >= 900 Then
这里你要求的数字大于等于200(ok),低于等于500(ok)且大于等于900(不好,因为你已经要求一个低于500的数字) 。数字不能低于500且高于900。
如果没有要求,很难知道你的if语句应该是什么样子。我建议你手动运行你的代码&#34;在纸上&#34;或者一次从一个if语句开始,而不是写下所有语句。
答案 1 :(得分:2)
我不会混合到一行中的许多支票,因为它会让人感到困惑。
做这样的事情:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
TextBox2.Text = ""
Dim Num As Integer
Dim str As String
str = TextBox1.Text
Num = Integer.Parse(str)
If Num >= 100 And Num <= 199 Then
TextBox2.Text = "Basement"
ElseIf Num >= 200 And Num <= 500 Then
TextBox2.Text = "Main Floor"
ElseIf Num >= 501 And Num <= 700 then
TextBox2.Text = "Upper Floor"
ElseIf Num ..... and so on
Else
TextBox2.Text = "Number is not valid"
End If
End Sub
为TextBox
控件和任何其他控件命名也是一种很好的做法:
textbox1
可能类似txtfloornumber
textbox2
可能类似txtfloorname
这使得以后的代码更容易回到您的代码中。