注册 登录
编程论坛 VB.NET论坛

新人求助~一个调用过程的问题!到底哪里不对呀摔!!

zyn5831 发布于 2014-03-08 18:01, 590 次点击
程序代码:


Public Class Form1
    Sub maxlength(ByVal s$, ByRef max$)
        Dim n$, i%
        s = LTrim(s)
        i = InStr(s, " ")

        Do While i <> 0

            n = Mid(s, 1, i - 1)
            If Len(n) < Len(max) Then max = n
            s = Mid(s, i + 1)
            i = InStr(s, " ")

        Loop
        If Len(s) > Len(max) Then max = s
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim s, m As String
        s = TextBox1.Text

        Call maxlength(s, m)
        TextBox2.Text = m
    End Sub
End Class


输入一堆字符串,用空格隔开,找出最长单词
摆脱哪位高手教教我到底哪里不对了呀?怎么也改不出来哭..
3 回复
#2
油盐酱醋2014-05-17 11:18
用字符串的Split方法分割成字符串数组,然后找出数组中字符串Length属性最大的那串字符。
#3
油盐酱醋2014-05-17 11:22
程序代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   
    Dim arr As String() = TextBox1.Text.Split(" ")
    Dim str As String = ""
    For i = 0 To arr.Count - 1
        If arr(i).Length > str.Length Then str = arr(i)
    Next
    TextBox2.Text = str

End Sub

随手写的,应该没问题。
#4
油盐酱醋2014-05-17 11:24
更简短一些:
程序代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  
    For Each str As String In TextBox1.Text.Split(" ")
        If str.Length > TextBox2.Text.Length Then TextBox2.Text = str
    Next

End Sub

1