ユーザが入力した文字がレター配列であるかどうかを確認しようとしています。そしてその手紙をモールス配列であるモールス符号に翻訳する。ユーザー入力を順番に表示するには、char配列を使用する必要がありましたが、モールス符号をアルファベット順に表示します。正しく表示を停止するにはどうしたらいいですか?前もって感謝します。char配列を別の配列に対してチェックするvb.net
Dim strCode As String = txtCode.Text.ToUpper 'What the user enters must be letters it can also be - or =
Dim strText() As Char = strCode.ToCharArray
Dim strLetter() As String = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
Dim strMorse() As String = {"*=", "=***", "=*=*", "=**", "*", "**=*", "==*", "****", "**", "*===", "=*=", "*=**", "==", "=*", "===", "*==*", "==*=", "*=*", "***", "=", "**=", "***=", "*==", "=**=", "=*==", "==**"}
For Each letter As Char In strText
For x As Integer = 0 To strLetter.Length - 1
If strCode.Contains(strLetter(x)) Then
MessageBox.Show(strMorse(x))
End If
Next
Next
End Sub
ニースのソリューションは、その辞書が何のためにあるのかを正確です。あなたは文字の間にスペースも必要であることに注意してください。そうでなければ、受信者は '*** 'が' EEE'、 'EI'、' IE'または 'S'を意味するかどうかを知りません。 – Heinzi
ああ、非常に良い点! – soohoonigan
@Heinzi私はそれを二番目に!辞書を使って、コードのポイントが何であるかを簡単に知ることができ、必要があると感じたら翻訳をチェックする方法をすぐに知ることができます。 –