VB.NET的题目哈 随机产生20个大写字母,求出现次数最多的字母及出现次数,还有求出现次数为0的字母有哪些

1个回答

  • Imports System.Text.RegularExpressions

    Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load

    Dim a As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    Dim g() As Char = a.ToCharArray

    Dim MyRandom As New Random

    Dim bs As String = ""

    For i = 1 To 20

    bs &= g(MyRandom.Next(0,g.GetUpperBound(0) + 1))

    Next

    Dim gs() As String = (From mt As Match In Regex.Matches(bs,"[A-Z]") Select mt.Value).ToArray

    System.Array.Sort(gs)

    gs = (From mt As Match In Regex.Matches(Join(gs,""),"([A-Z])1*") Select mt.Value).ToArray

    Dim g_len() As Integer

    g_len = (From mt As Match In Regex.Matches(Join(gs,""),"([A-Z])1*") Select mt.Length).ToArray ' 使用数组元素作为计数器g_len

    System.Array.Sort(g_len,gs)

    Label1.Text = "出现次数最多的字母:" & gs(gs.GetUpperBound(0)).Substring(0,1) & " 共出现" & g_len(g_len.GetUpperBound(0)) & "次" & vbCrLf & "没有出现的字母是:" & Join(a.Split(bs.ToCharArray),"")

    End Sub

    End Class