检查用户输入是否已经输入
Check if user input was already inputted
我试图让用户输入一个字符并检查他们之前是否输入过该字符。如果发生这种情况,请他输入他以前未使用过的另一个字符。我的知识仅限于 if 语句和循环,所以如果解决方案是我能理解的,我将不胜感激。
当我输入任何字母时,例如 E,它会将其放入猜测的数组,如果我再次输入 E,它会再次放入猜测的数组,而不是要求用户更改字母。
string check= "";
char wguess ='';
char[] wguess = new char[26];
do
{
check = Console.ReadLine();
if (check!="")
{
wguess = char.ToUpper(Convert.ToChar(check));
for (int i = 0; i <= 25; i++)
{
if (wguess == guessed[i])
{
Console.Write(wguess);
Console.WriteLine(guessed[i]);
Console.WriteLine("Please choose a letter you haven't used yet.");
}
else
{
Console.Write(wguess);
Console.WriteLine(guessed[i]);
temp = wguess;
guessed[i] = wguess;
wguess = ' ';
}
}
}
else
{
Console.WriteLine("Please Enter a letter.");
}
} while (check=="");
Output1 = Guessed Letters: E
Output2 = Guessed Letters: EE
您可以使用 Contains 方法,如下所示:
If(guessed.Contains(wguess)
{
//Whatever happens when the character already has been entered
}
else
{
//Whatever happens when the character has not been guessed
}
更改代码如下:
do{
check = char.ToUpper(Convert.ToChar(Console.ReadKey()));
if (!guessed.Contains(check))
{
// This is new, not in the guessed
}
else
{
// Already entered
}
} while (check==' ');
我试图让用户输入一个字符并检查他们之前是否输入过该字符。如果发生这种情况,请他输入他以前未使用过的另一个字符。我的知识仅限于 if 语句和循环,所以如果解决方案是我能理解的,我将不胜感激。
当我输入任何字母时,例如 E,它会将其放入猜测的数组,如果我再次输入 E,它会再次放入猜测的数组,而不是要求用户更改字母。
string check= "";
char wguess ='';
char[] wguess = new char[26];
do
{
check = Console.ReadLine();
if (check!="")
{
wguess = char.ToUpper(Convert.ToChar(check));
for (int i = 0; i <= 25; i++)
{
if (wguess == guessed[i])
{
Console.Write(wguess);
Console.WriteLine(guessed[i]);
Console.WriteLine("Please choose a letter you haven't used yet.");
}
else
{
Console.Write(wguess);
Console.WriteLine(guessed[i]);
temp = wguess;
guessed[i] = wguess;
wguess = ' ';
}
}
}
else
{
Console.WriteLine("Please Enter a letter.");
}
} while (check=="");
Output1 = Guessed Letters: E
Output2 = Guessed Letters: EE
您可以使用 Contains 方法,如下所示:
If(guessed.Contains(wguess)
{
//Whatever happens when the character already has been entered
}
else
{
//Whatever happens when the character has not been guessed
}
更改代码如下:
do{
check = char.ToUpper(Convert.ToChar(Console.ReadKey()));
if (!guessed.Contains(check))
{
// This is new, not in the guessed
}
else
{
// Already entered
}
} while (check==' ');