有条件地退出或继续在vb.net中循环

用户2536008

我在下面有以下内容。它的作用是从用户输入的文本框中获取输入,用特定的数值替换每个字母,显示每个单词的总数,然后显示整个输入的总数。例如,如果用户键入aa bbb e,则txtbox5中的输出为:

aa = 40
bbb = 90
e = 40
Total 170

如果用户输入一个长句子,那会很好。因此,我想以相同的方式分别计算每个句子,并且该句子的分隔符可以是句点或逗号。如果用户键入aa bbb。ff ee。输出应

aa = 40
ccc = 90
Total for the 1st sentence = 120
ff = 100
ee = 80
Total for the 2nd sentence = 180
and so forth

Private Sub Calculate(ByVal input As String)
    Dim total As Integer = 0
    Dim wordTotal As Integer
    Dim dicLetters As New Dictionary(Of Char, Integer)

    dicLetters.Add("A", 20)
    dicLetters.Add("B", 30)
    dicLetters.Add("E", 40)
    dicLetters.Add("F", 50)

    Dim charValue As Integer

    For Each word As String In input.Split(New Char() {" "})

        wordTotal = 0

        For Each character As Char In word

            wordTotal += If(dicLetters.TryGetValue(character, charValue) = _
            True, dicLetters(character), 0)
        Next

        total += wordTotal

        txtBox5.Text += word.PadRight(12) + " = " + _
        wordTotal.ToString().PadLeft(5) + vbNewLine
    Next

    txtBox5.Text += "Total:".PadRight(12) + " = " + _
    total.ToString().PadLeft(5)
End Sub
Tinstaafl

使用Split方法创建句子数组。它将接受一个定界符数组。遍历数组并将每个句子和句子的索引传递给子例程。在子例程中,添加一个整数参数用作句子编号,然后更改输出字符串。

像这样的东西:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim Sentences() As String = TextBox1.Text.Split({","c,"."c})
    For I = 0 to Sentences.Count-1
        Calculate(Sentences(I), I+1)
    Next
End Sub

Private Sub Calculate(ByVal input As String, ByVal index As Integer)
    Dim total As Integer = 0
    Dim wordTotal As Integer
    Dim dicLetters As New Dictionary(Of Char, Integer)

    dicLetters.Add("A", 20)
    dicLetters.Add("B", 30)
    dicLetters.Add("E", 40)
    dicLetters.Add("F", 50)

    Dim charValue As Integer

    For Each word As String In input.Split(New Char() {" "})

        wordTotal = 0

        For Each character As Char In word

            wordTotal += If(dicLetters.TryGetValue(character, charValue) = _
            True, dicLetters(character), 0)
        Next

        total += wordTotal

        txtBox5.Text += word.PadRight(12) + " = " + _
        wordTotal.ToString().PadLeft(5) + vbNewLine
    Next

    txtBox5.Text += "Total for sentence " + index.ToString +" :" + " = " + _
    total.ToString().PadLeft(5)
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有条件地从嵌套for循环退出-VBA

来自分类Dev

如何有条件地在Ruby中重复循环?

来自分类Dev

在For循环内有条件地中断并继续执行

来自分类Dev

需要有条件继续的循环

来自分类Dev

VB.Net早期绑定类有条件地变量

来自分类Dev

遍历Hashtable并有条件地删除VB.NET中的条目的最佳方法

来自分类Dev

Haskell:有条件地打破循环

来自分类Dev

使用React有条件地停止游戏循环

来自分类Dev

有条件地忽略授权.NET Core 3.1

来自分类Dev

有条件地在XML ArrayList中包含bean

来自分类Dev

有条件地关闭Thymeleaf中的标签

来自分类Dev

有条件地选择熊猫DataFrame中的数据

来自分类Dev

如何有条件地调用sbt中的任务?

来自分类Dev

有条件地调用R中的特定列

来自分类Dev

有条件地从数据框中删除

来自分类Dev

SSRS有条件地从表中删除行

来自分类Dev

有条件地删除R中的行

来自分类Dev

有条件地删除向量中的元素

来自分类Dev

有条件地在Django中扩展模板

来自分类Dev

有条件地在Redshift中删除临时表

来自分类Dev

如何有条件地忽略GDB中的SIGTRAP?

来自分类Dev

有条件地在R中创建列

来自分类Dev

有条件地在熊猫中读取csv

来自分类Dev

有条件地枚举python中的项目

来自分类Dev

有条件地对元组列表中的值求和

来自分类Dev

有条件地在宏中调用键控参数

来自分类Dev

有条件地包含在EF Core中

来自分类Dev

如何有条件地在熊猫中删除行

来自分类Dev

有条件地插入表中