vb.net - Visual Basic 中的元音计数
问题描述
所以我正在尝试进行元音计数,但我的代码不起作用。有人可以帮我吗?
Dim nomes As String() = TextBox1.Text.Split(" ")
Dim primeiro As String = nomes(0)
Dim segundo As String = nomes(1)
Dim letras As String = nomes(0) + nomes(1)
Dim consoantes As Integer = 0
Dim vogals As Integer = 0
Dim i As Integer
For i = 1 To Len(letras)
If letras Like "[aeiou]" Then
vogals = vogals + 1
Else
consoantes = consoantes + 1
End If
Next i
MsgBox("Tens " + vogals.ToString + " vogais e " + consoantes.ToString + " consoantes")
End Sub
解决方案
您可以将其缩短为:
Dim vogals, consoantes As Integer
For Each c As Char In TextBox1.Text
If c Like "[aeiou]" Then
vogals = vogals + 1
ElseIf c Like "[bcdfghjklmnpqrstvwxyz]" Then
consoantes = consoantes + 1
End If
Next
MessageBox.Show("Tens " + vogals.ToString + " vogais e " + consoantes.ToString + " consoantes")
这将忽略空格和任何其他不是元音或辅音的字符。
如果你想坚持使用索引 for 循环,那么:
Dim vogals, consoantes As Integer
For i As Integer = 0 To TextBox1.TextLength - 1
Dim c As String = TextBox1.Text(i)
If c Like "[aeiou]" Then
vogals = vogals + 1
ElseIf c Like "[bcdfghjklmnpqrstvwxyz]" Then
consoantes = consoantes + 1
End If
Next
MessageBox.Show("Tens " + vogals.ToString + " vogais e " + consoantes.ToString + " consoantes")
推荐阅读
- java - 如何在java中将二进制有效负载(文件)转换为字节[]?
- ios - iOS 拖放。如何在拖动时用自定义视图替换单元格
- c++ - 编写 gtest 验证类是否为空
- javascript - Firebase 云消息传递 - JS SDK 中的 getToken() 错误
- android - Android Arcore Plane Tracker 目标
- python - 在 bash 和 python 之间保持 oracle DB 连接
- javascript - 计算 HTML5 画布中块箭头的点
- amazon-web-services - EC2 AWS 上的 Python Flask 应用程序,由 apache2 托管
- sql - Find by some columns with latest version
- javascript - JavaScript 嵌套 map()