Pig拉丁控制台
本文关键字:控制台 Pig | 更新日期: 2023-09-27 18:29:11
嗨,我正在为课堂学习Pig拉丁语,说明是将单词前面的第一个辅音去掉,放在单词后面。然后是字母"ay"。例如,书变成了ookbay,力量变成了ength杂散。我遇到麻烦了,因为它不发音第一个辅音。
// button, three, nix, eagle, and troubadour
Console.Write("Enter word you want in Pig Latin: ");
string word1 = Console.ReadLine();
string pig = "";
string vowels = "aeiouAEIOU";
string space = " ";
string extra = ""; //extra letters
int pos = 0; //position
foreach (string word in word1.Split())
{
if (pos != 0)
{
pig = pig + space;
}
else
{
pos = 1;
}
vowels = word.Substring(0,1);
extra = word.Substring(1, word.Length - 1);
pig = pig + extra + vowels + "ay";
}
Console.WriteLine(pig.ToString());
例如,如果我做强度,它会显示为强度,而不像的例子
这里有很多问题。首先,你对问题的定义:
指令是从单词的前面删除第一个辅音
这正是你所做的。如果移动第一个辅音,则strength
会变成trengths
。您需要将定义更改为所有前导辅音直到第一个元音。另外,在eagle
的情况下,你会怎么做?它会变成eagleay
吗?你的说明没有具体说明如何处理前导元音。
这是的另一个问题
vowels = word.Substring(0,1); // This will overwrite your vowel array with the first letter
现在还不用担心写真正的代码,先写一些伪代码来计算逻辑@Chris关于寻找第一个元音的评论很好。您的伪代码可能看起来像:
Check if word begins with consonant
{
If so, look for index of first vowel
Take substring of word up to first vowel.
Append it to end
}
Otherwise
{
Deal with leading vowel
}