【发布时间】:2018-01-04 23:34:05
【问题描述】:
我需要编写一个简单的控制台应用程序,该应用程序接受一个输入字符串,然后调用一个子例程来计算字符串中单词的数量和元音的数量。我写了这个,由于某种原因它没有输出我在Console.Writeline 代码中输入的文本。有关如何执行此操作的任何帮助?
Module Module1
Sub Main()
Dim Sentence As String
Console.WriteLine("Sentence Analysis")
Console.WriteLine()
Console.WriteLine("Enter a sentence then press 'Enter'")
Console.WriteLine()
Sentence = Console.ReadLine()
Sentence = Sentence.ToUpper
Call Words(Sentence)
Call Vowels(Sentence)
Console.ReadLine()
End Sub
Sub Words(ByVal Input As String)
Dim Count As Integer
Dim Index As Short
Dim Character As Char
Do Until Index = Len(Input)
Character = Input.Substring(Index)
If Character = " " Then
Count = Count + 1
End If
Loop
Console.WriteLine("Your sentence contains {0} words.", (Count))
End Sub
Sub Vowels(ByVal Input As String)
Dim Count As Integer
Dim Vowels() As String = {"A", "E", "I", "O", "U"}
Dim Index As Short
Dim Character As Char
Do Until Index = Len(Input)
Character = Input.Substring(Index)
If Character = Vowels(Index) Then
Count = +1
End If
Loop
Console.WriteLine("Your sentence contains {0} words.", (Count))
End Sub
End Module
【问题讨论】:
-
除了朋友的回答之外,您在
Vowels方法中有一个错字:Count = +1- 这将始终是Count = 1。要增加它,请执行Count = Count + 1或Count += 1。 -
另外,当
Index大于 4 时,Vowels(Index)将超出范围。请改用Array.IndexOf()或添加另一个循环,迭代您的Do循环中的每个元音。
标签: vb.net visual-studio visual-studio-2017 word-count