当前位置:  开发笔记 > 编程语言 > 正文

数组中最大的单词

如何解决《数组中最大的单词》经验,为你挑选了1个好方法。

嘿,我在创建程序的简单按钮时遇到问题,该程序找到数组中最大的单词并将其放入文本框中.我已经完成了大部分编码(我希望),想知道是否有人可以帮助我实际使用找到数组中最大文本的代码,因为我正在努力解决这个问题.

    Private Sub btnLongName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLongName.Click
        Dim LongName As String
        Dim LengthOfLongestName As Integer
        Dim UltimateName As String


        For i As Integer = 0 To 5
            LongName = Members(i).Name
            LengthOfLongestName = Len(LongName)
            If Members(i).Name.Length > LengthOfLongestName Then



            End If
        Next i

        txtResult.Text = "The longest name is " & UltimateName & " ."
    End Sub
End Class

谢谢你的时间 - 它为大学作业,在它上面苦苦挣扎:(

编辑:我编辑了代码



1> Daniel LeChe..:

由于这是作业,我不会为你编写代码; 相反,我会尝试给你一些提示,指出你正确的方向.

    声明一个适当类型的变量来保存,用该类型的"最短"值初始化它.

    循环遍历数组中的所有值(可能带有ForFor Each循环)

循环内部的伪代码:

If the Length of  exceeds _
   the Length of the  Then 

   Assign  to the  

End If

当循环结束时,它将是数组中最长的值.

笔记

您可以使用MSDN关于如何使用引用一For环或For Each环 (如果你还没有学会For循环呢,你也可以使用Do Loop)

通过循环每次迭代都会有所不同; 它应该对应于数组中的每个连续值.您可以通过设置断点来验证这是否有效.

您可以通过说明获得字符串的长度 myString.Length

如果您已经了解了Functions,请考虑编写一个以数组作为参数的函数,并返回数组中最长的值.

肯定有一些方法可以用LINQ做到这一点,但我认为这不是作业的目标; - ]


回应编辑1:

你的If陈述必须是内部某种循环(For,For Each,Do等), 我认为这是你缺少的关键概念.

相反,比较LongName.LengthLengthOfLongestName,你需要一个条目的长度比较你的阵列中LengthOfLongestName

你在正确的轨道上Members(0).Name.Length,但你不能只检查元素0; 你必须检查数组中的每个元素.

鉴于您当前的代码,您可能会分配.NameLongName

一维数组中的最后一个索引是.Length - 1.GetUpperBound(0).

以下内容并未真正解决您的任务中的任何问题,但我希望它能为您提供有关如何浏览列表中所有项目的一些建议:

' A For loop that does a message box for each of the numbers from 0 to 5 '
For i as Integer = 0 To 5
   MessageBox.Show(i)
Next i

' Code that does a message box with the names of the 2nd, 3rd and last '
' entries in Members '
' (Remember that the first item is at 0, the second item is at 1, etc...) '
MessageBox.Show(Members(1).Name)
MessageBox.Show(Members(2).Name)
MessageBox.Show(Members(Members.GetUpperBound()).Name)

回应编辑2:

你变暖了......

你应该只更新LongName,LengthOfLongName如果当前值是你到目前为止看到的最长的(即它们应该在If语句内部分配)

您必须转到数组的最后一个索引,而不是5.请参阅上面(对第一次编辑的响应)有关如何获取最后一个索引的信息.

你真的不需要UltimateName变量; 你可以使用LongName; - ]

您可能希望使用.Length而不是Len()保持一致.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有