【发布时间】:2016-02-23 00:39:34
【问题描述】:
所以我正在编写一个程序,它输入一个数字(二进制),然后将该输入的每个数字分配到一个数组中。
static void Main(string[] args)
{
Console.Write("Please enter a binary number: ");
String input = Console.ReadLine();
int inputLength = input.Length;
int nInput = Convert.ToInt32(input);
int[] digits;
digits = new int[inputLength];
int remain = 10;
int divider = 1;
for (int i = 0; i > inputLength; i++)
{
digits[i] = (nInput % remain) / divider;
remain = remain * 10;
divider = divider * 10;
}
Console.WriteLine("Demo number " + digits[0]);
}
但是,每当我运行代码时,我的所有数组的值似乎都是 0。这是为什么?
所以如果我的输入是 11010,
digit[0] 应该是 0。
digit[1] 应该是 1。
digit[2] 应该是 0。
digit[3] 应该是 1。
digit[4] 应该是 1。
【问题讨论】:
-
i > inputLength对于初学者来说应该是i < inputLength。 -
嘿,下次调试你的代码。您会比发布问题更快地自己发现问题 ;-)
-
int inputLength = Convert.ToInt32(input);