1
다음 하위 버전이 있습니다. 그것은 사용자가 입력하는 텍스트 상자에서 입력을 가져 와서 각 문자를 특정 숫자 값으로 대체하고 각 단어의 합계를 표시 한 다음 전체 입력의 합계를 표시한다는 것입니다. 예를 들어, 사용자 유형 금주 모임 BBB 전자 경우, txtbox5의 출력은 다음과 같습니다 경우 사용자 입력 하나 개의 긴 문장을 잘 작동조건부로 종료하거나 vb.net의 루프를 계속하십시오.
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
감사합니다! 그게 잘 작동하지만, 어떻게 모든 단어 또는 문장의 최종 합계를 표시합니까? – user2536008
각 문장의 모든 단어의 합계를 의미하는 경우 클래스 수준 변수를 사용하여 총합을 유지하십시오. 계산 루틴의 끝 부분에 각 합계를 추가하십시오. 그런 다음 버튼 클릭 루틴의 for 루프 뒤에 표시하십시오. – tinstaafl