【问题标题】:Visual Basic programmingVisual Basic 编程
【发布时间】:2017-04-10 07:11:59
【问题描述】:

我是编程世界的新手,我被以下问题困住了,请你帮帮我

编写一个 Visual Basic.net 函数来计算输入字段中所有数字的总和。例如,如果输入字符串为:“ICT2611”,则该字符串中包含的数字为:2、6、1、1,因此它们的和为:2+6+1+1 = 10

【问题讨论】:

  • Visual Basic 和 VBA 实际上是两个不同的东西。为您更新了标签。以后请记住。也请花一些时间阅读the help pages,尤其是名为"What topics can I ask about here?""What types of questions should I avoid asking?" 的部分。和read about how to ask good questions 并学习如何创建Minimal, Complete, and Verifiable Example
  • “我是 X 新手” != 懒得自己尝试任何东西。
  • 请编辑您的问题并用代码演示您尝试过的内容以及遇到问题的地方。
  • 我已将图像的内容移动到引用块中。请不要将图像用于只能由图像描绘的元素以外的任何内容。使用图像来引用您正在努力解决的问题会给您的帖子留下您正在寻找家庭作业答案的印象,并且由于这不是 SO 的可接受用途,您不太可能获得您寻求的帮助。请参阅我的其他评论,了解如何在此处获得有关您的问题的帮助的更多指导。
  • 对于初学者,您需要一个 For Each 循环来遍历字符串中的每个字符,然后在其中检查字符是否为数字。

标签: vb.net


【解决方案1】:

以下内容应该可以解决您的问题,它使用正则表达式在提供的字符串中查找与表达式(数字 1 - 9)的任何匹配项,然后遍历它们以将它们进行计数。

Public Function SumOfString(str As String) As Integer
    Dim total As Integer = 0
    For Each i As Match In Regex.Matches(str, "[1-9]")
        total += i.Value
    Next
    Return total
End Function

另外,同样的事情可以像这样实现,这只是遍历字符串中的每个字符,然后检查它是否是一个数字。如果它是一个数字,那么它会计算出来。

Public Function SumOfString(str As String) As Integer
    Dim total As Integer = 0
    For Each i As Char In str
        If Char.IsDigit(i) Then total += Integer.Parse(i)
    Next
    Return total
End Function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多