Ubbi Dubbi c#程序代码
本文关键字:代码 程序 Dubbi Ubbi | 更新日期: 2023-09-27 18:29:55
Ubbi Dubbi是一个程序,在单词的第一个元音之前插入字母"ub"。在我的代码中,它不会在第一个元音之前完成,而是在第二个元音之前。如果我放"hello",那么输出是"hellubo",而它应该是"hubello"。对不起,如果我的英语不好,我还在学习。
Console.Write("Enter word: ");
string word = Console.ReadLine();
var loc = word.IndexOfAny(new char[] {'a', 'e', 'i', 'o', 'u'});
int aloc = word.IndexOf('a');
int eloc = word.IndexOf('e');
int iloc = word.IndexOf('i');
int oloc = word.IndexOf('o');
int uloc = word.IndexOf('u');
if (aloc!= -1 && aloc > loc)
{
loc = aloc;
}
if (eloc!= -1 && eloc > loc)
{
loc = eloc;
}
if (iloc!= -1 && iloc > loc)
{
loc = iloc;
}
if (oloc!= -1 && oloc > loc)
{
loc = oloc;
}
if (uloc!= -1 && uloc > loc)
{
loc = uloc;
}
string word1 = word.Insert(loc, "ub");
Console.WriteLine(word1);
调用IndexOfAny
后,所有工作都完成了。因此,您可以跳过大部分代码。但如果有元音,你应该插入一个复选框:
Console.Write("Enter word: ");
string word = Console.ReadLine();
var loc = word.IndexOfAny(new char[] { 'a', 'e', 'i', 'o', 'u' });
string word1 = loc >= 0 ? word.Insert(loc, "ub") : word;
Console.WriteLine(word1);
在您的代码中,会发现一个"e",因此会执行loc = eloc
。但也会发现"o",并且在"e"检查之后执行loc = oloc
。所以CCD_ 4的最终值就是CCD_。
您可以通过下面的API轻松实现。
private static string processWord(string word)
{
// Vowels array
char[] vowels = new char[] { 'a', 'e', 'i', 'o', 'u' };
//Find the index of your first vowel in your 'word'
int index = word.IndexOfAny(vowels);
//Insert 'ub' at above location
word = word.Insert(index, "ub");
//Return the word
return word;
}
或
private static string processWord(string word)
{
return word.Insert(word.IndexOfAny(new char[] { 'a', 'e', 'i', 'o', 'u' }), "ub");
}
选择任何容易理解的方法