【发布时间】:2017-10-17 17:56:41
【问题描述】:
针对这个特定问题的练习是,我必须在列表框中显示所选年级值的学生数量,并在数字标签中显示所选年级的学生人数:Form Design。
我可以将分数加起来就好了,我一直遇到的问题是在搜索名称数组的同时搜索等级数组,并根据所选等级显示每个单独的名称。
我知道 Grade 字母的每个索引值都会对应 Name 数组,但我不知道如何获取 Grade 数组的 Index 值,因为它是一个字符串。
编辑:这正是任务所要求的:
一个。该过程声明并初始化了两个名为 strNames 和 strGrades 的并行一维数组。
对过程进行编码,以显示获得 lstGrades 控件中所选成绩的学生的姓名。它还应该显示获得该成绩的学生人数。b.出现界面时应选择 lstGrades 控件中的第一项。编码适当的程序。
c。当在 lstGrades 控件中选择不同的成绩时,应清除 lstNames 和 lblNumber 控件的内容。编码适当的程序。
d。保存解决方案,然后启动并测试应用程序。
Private Sub btnDisplay_Click(sender As Object, e As EventArgs) Handles btnDisplay.Click
' Display the names and number of students earning a specific grade.
Dim strNames() As String = {"Helen", "Peter", "Yolanda", "Carl", "Jennifer", "Charles", "Addison", "Aiden", "Treyson", "Sydney", "Jacob", "Nancy", "George", "Ursula", "Jack"}
Dim strGrades() As String = {"A", "B", "B", "A", "D", "F", "A", "B", "A", "B", "F", "C", "C", "B", "D"}
Dim intNumGrades(4) As Integer
' searches through each value in strGrade array, counter is added for each instance
For Each strGradeLetter As String In strGrades
Select Case strGradeLetter
Case "A"
intNumGrades(0) += 1
Case "B"
intNumGrades(1) += 1
Case "C"
intNumGrades(2) += 1
Case "D"
intNumGrades(3) += 1
Case "F"
intNumGrades(4) += 1
End Select
Next strGradeLetter
lblNumber.Text = intNumGrades(lstGrades.SelectedIndex).ToString
End Sub
【问题讨论】:
-
请阅读How to Ask 并使用tour。如果您使用了
For n循环,则索引器 (n) 将指向相应的名称数组(或者您可以使用 Array.IndexOf)。大概您将需要另一个集合来存储每个字母等级的名称 -
我不能使用 Array.IndexOf,我的意思是我必须在不使用它的情况下完成这个练习。
-
请阅读How to Ask 并采取tour