我想在控制台中制作某种策划游戏,计算机会生成一个3位数的代码,你必须猜测它。计算机还会告诉您在猜测后立即得到哪个数字。我最好怎么做?我不知道一种“切断”输入的方法,这样我就可以让计算机根据它的数字进行检查。
示例:
计算机生成随机代码:123
你猜是:321计算机: - * - (星号表示你正确的数字)
我知道如何指出哪些数字是正确的,但我不知道如何将输入分成几部分
答案 0 :(得分:1)
将计算机生成的随机数转换为字符串。无论如何,用户输入以字符串形式给出。
string
类型有一个索引器,允许您访问单个字符
string s = "abc";
char a = s[0];
char b = s[1];
char c = s[2];
for (int i = 0; i < s.Length; i++) {
Console.WriteLine($"s[{i}] = '{s[i]}'");
}
您将char
文字写为
char ch = 'x';
使用单引号。
示例:
string userInput = Console.ReadLine();
int code = SomehowGenerateRandomCode();
string codeString = code.ToString();
// Let's assume that both numbers have 3 digits.
for (int i = 0; i < 3; i++) {
if(userInput[i] == codeString[i]) {
// digits are equal
} else {
// digits are different
}
}
答案 1 :(得分:0)
要将int
拆分为其数字,您可以转换为字符串,如:
int i = 123;
string myInt = i.ToString();
List<int> digits =new List<int>();
foreach (char c in myInt)
{
digits.Add(int.Parse(c.ToString());
}