我正在开展一个项目,将英语翻译成猪拉丁语,以更好地学习字符串。我正在努力解决的规则是:
如果单词以元音开头,只需在单词末尾添加 way 即可。
如果单词以辅音开头,请将第一个元音之前的辅音移至单词末尾并添加 ay。
我可以让元音起作用,但如果我达到一个常数,我就会陷入无限循环。我对编程相当陌生C#
。任何解决这个问题的帮助将不胜感激,并希望能帮助我理解资源。
我尝试过使用文本创建一个 char 并使用文本创建一个 int 来检查每个字母。不太确定该怎么做。
这是翻译按钮代码:
private void transBtn_Click(object sender, EventArgs e)
{
english = engTxtBx.Text;
english = english.Trim();
string[] columns = english.Split(' ');
for (int i = 0; i < columns.Length; i++)
{
string text = columns[i];
char first = text[0];
for (int c = 0; c < text.Length; c++)
{
char character = text[c];
//int consonant = text.IndexOf(character);
if (isVowel(first))
{
text = text + "way ";
pigLatin = text;
plTxtBx.Text += text;
}
else if (!isVowel(character))
{
if (isVowel(text[c + 1]))
{
text.Remove(text.IndexOf(character), 1);
text += character + "ay";
pigLatin = text;
plTxtBx.Text += text;
}
break;
}
}
}
public static bool isVowel(char c)
{
return new[] {'a','e','i','o','u'}.Contains(char.ToLower(c));
}
如果我输入短语“Can I have an apple”,则应从第一个字符中删除“see”并移动到末尾,并在后面添加“ay”。现在,当我调试时,c 没有被删除,而是添加到末尾并添加了 ay。然后它就卡在了“我”上。
斯蒂芬大帝
慕容708150
相关分类