VB.net中具有多个变量的嵌套Case结构

VB.net中具有多个变量的嵌套Case结构,vb.net,nested,Vb.net,Nested,我正在为我的编程入门课程做一个项目,我被这个问题困住了: 到目前为止,这是我的代码 Private Sub btnShoe_Click(sender As Object, e As EventArgs) Handles btnShoe.Click Dim Name, Gender, Foot As String Name = InputBox("Enter Your Name", "Name") Gender = InputBox("Enter Your Gender (

我正在为我的编程入门课程做一个项目,我被这个问题困住了:

到目前为止,这是我的代码

Private Sub btnShoe_Click(sender As Object, e As EventArgs) Handles btnShoe.Click
    Dim Name, Gender, Foot As String
    Name = InputBox("Enter Your Name", "Name")
    Gender = InputBox("Enter Your Gender (M/F)", "Gender")
    Foot = InputBox("Enter your foot size in inches", "Foot Size")
    'User Input Name, Gender, Foot Size

    Select Case Gender.ToUpper
        Case "M" To "F"
            Select Case Foot
                Case "9.5"
                    MessageBox.Show("Your Size is a Mens 7")
                    Case "9.6"
                    MessageBox.Show("Your Size is a Mens 7")
                        Case "9.7" To "9.9"
                        MessageBox.Show("Your Size is a Mens 8")
                Case "10" To "10.3"
                    MessageBox.Show("Your Size is a Mens 9")
                                Case "10.4" To "10.6"
                                MessageBox.Show("Your Size is a Mens 10")
                                    Case "10.7" To "10.9"
                                    MessageBox.Show("Your Size is a Mens 11")
                                        Case "11" To "11.3"
                                        MessageBox.Show("Your Size is a Mens 12")
                                            Case "11.4" To "11.6"
                                            MessageBox.Show("Your Size is a Mens 13")
                Case Else
                    MessageBox.Show("Size Unknown")

                    Select Case Gender.ToUpper
                        Case "F"
                            Select Case Foot
                                Case "8.6" To "8.7"
                                    MessageBox.Show("Your Size is a Womens 6")
                                Case "8.8" To "9.3"
                                    MessageBox.Show("Your Size is a Womens 7")
                                Case "9.4" To "9.5"
                                    MessageBox.Show("Your Size is a Womens 8")
                                Case "9.6" To "9.9"
                                    MessageBox.Show("Your Size is a Womens 9")
                                Case "10" To "10.2"
                                    MessageBox.Show("Your Size is a Womens 10")
                                Case "10.3" To "10.5"
                                    MessageBox.Show("Your Size is a Womens 11")
                                Case Else
                                    MessageBox.Show("Size Unknown")


                            End Select
                    End Select
            End Select
    End Selectenter code here

但是当我运行它时,男性尺寸工作得很好,但是如果用户输入女性,则不会出现错误,但不会显示任何消息框

您不需要两个
选择案例性别;而
Case“M”到“F”
应该只是
Case“M”
您还需要
End Select
进行内部选择。我不会为您重写代码,但这里有一些伪代码可以让您走上正确的轨道:

Select Case Gender.ToUpper
    Case "M":
        Select Case Foot
            ....
        End Select
    Case "F":
        Select Case Foot
            ....
        End Select
End Select

即使性别确实在F,G,H,I,J,K,L和M的范围内,你的范围是相反的。由于您需要在与M不同的图表中查找F,因此需要单独处理。阅读并学习,通过比较字符串来测试数值范围为意外行为打开了大门非常感谢!它运行得很好。