-3

何度も試してみましたが、「find」や「else」などの単語を機能させるコードを作成できますが、2 つ以上の子音で始まる単語を機能させることはできません。 . 私の具体的な質問は、プログラムにa、i、o、u、またはeのいずれかを検索させる方法はありますか? そのため、IndexOf + Substring を使用して、質問を完了するために、それらの使用の最初のインスタンスの位置を要求できます。

これまでの私のコードは:-

Private Sub btnCompute_Click(sender As System.Object, e As System.EventArgs) Handles btnCompute.Click
    Dim word As String = CStr(txtInput.Text)
    Dim first_letter As String = word.Substring(0, 1)

    Const vovel As String = "aeiouy"
    Const constants As String = "bcdfjklmnopqrstvwxz"

    Dim find As String = word.Substring(0, vovel)
    Dim delete As String = word.Substring(vovel, constants)


    If vovel.Contains(first_letter) Then
        txtResults.Text = txtInput.Text & "way"
    ElseIf constants.Contains(first_letter) Then
        txtResults.Text = delete & find & "ay"



    End If
End Sub

クラス終了

どんな助けやアドバイスも本当に感謝しています

4

3 に答える 3

1

質問を理解している場合は、使用できます。例えば

    char[] vowels = new char[] { 'a', 'e', 'i', 'o', 'u' };
    string word = "test";

    var index = word.IndexOfAny(vowels);
于 2013-06-23T00:04:24.643 に答える
0

あなたがやろうとしていることについて、ここに1つの方法があります:

Private Function IgpayAtinlay(word As String) As String
    Dim vowels As String = "aeiou"
    Dim Upper As Boolean = False
    If Char.IsUpper(word(0)) Then Upper = True
    For I = 0 To word.Length - 1
        If vowels.Contains(word(I)) Then
            If I = 0 Then
                'If the vowel is the first letter add "way" to the end
                word = word + "way"
                Exit For
            Else
                'Otherwise we take the rest of the word starting at the vowel,
                'put the beginning letters on the end and add "ay"
                word = word.ToLower
                word = word.Substring(I) + word.Substring(0, I) + "ay"
                'If the first letter was upper case then make the new first letter
                'the same
                If Upper Then word = word(0).ToString.ToUpper + word.Substring(1)
                Exit For
            End If
        End If
    Next
    Return word
End Function

Private Sub btnCompute_Click(sender As System.Object, e As System.EventArgs) Handles btnCompute.Click
    txtResults.Text = IgpayAtinlay(txtInput.Text)
End Sub

最初の文字の大文字小文字を維持するコードを含めました

TODO:

単語のリストを使用して入力を検証し、有効な単語であることを確認します。

于 2013-06-23T07:35:42.500 に答える