0

我有以下给定参数:

Alphabet   Provided Value

S           2
U           3
M           5

我有一个带有默认文本 SUM 的文本框和一个显示 SUM 结果的标签,如果 s=2、U=3 和 M=5 以及结果在标签中显示为输出为 10

我想为此编写程序...在 VB.NET 中

编辑:

Dim text = textbox1.text 
Dim sum = 0 
For Each c As Char In text 
    sum += c - 64 
Next
4

1 回答 1

2

我认为问题在于您试图从 Char 中减去 64 - 当我尝试您的代码时,我得到一个未为类型“Char”和“Integer”定义的“-”运算符。

尝试使用Asc获取 ASCII 值:

Dim text As String = textbox1.Text
Dim sum As Integer = 0

For Each c As Char in text
    sum += Asc(c) - 64
Next

但是,对于 SUM,这将为您提供 53,而不是 10。您使用什么系统来确定给定字母的数值?您发布的代码表示您减去 64 - 如果不是 ASCII,那么数字 64 是什么?

编辑

假设您已经为每个字母预定义了数值,我会将它们放在 a 中Dictionary,其中 Char 作为键,Integer 作为值。然后你可以做这样的事情:

Dim letterValues As New Dictionary(Of Char, Integer)

letterValues.Add("S", 2)
letterValues.Add("U", 3)
letterValues.Add("M", 5)
' You can add every letter with its predefined value this way

Dim text As String = textbox1.Text
Dim sum As Integer = 0

For Each c As Char in text
    sum += letterValues(c)
Next

结果将是 10。

于 2013-04-23T08:11:26.043 回答