I wrote a program, what is compute the difference of two string or compute a hamming distance.
I run in debug mode. And I saw, the at the string first the first element of string is missing. But the string second is good!
When I tested the first’s length and second’s length is equal.
Forexample:
I typed this: 00011
And in debug mode it’s value only: 0011
. Or I typed this: “this”, in debug the real value is only “his”
Somebody can explain me, why missing the first element of string?
The code:
while (Console.Read() != 'X')
{
string first = Console.ReadLine();
string second = Console.ReadLine();
int distance = 0;
for (int i = 0; i < first.Length; i++)
{
if (first[i]!= second[i])
{
++distance;
}
}
Console.WriteLine("Hamming distance is {0}.", distance);
}
I tried modify the iteration, forexample the loop was ++i, or the first[i-1] but these aren’t solve my problem.
Console.Read()reads the first character from the buffer. This character will not be included in theReadLine().I would personally find a better way to end your program such as if
first=="quit"or by some other syntaxic means.