首先,对不起我的英语。 我正在研究一个控制台程序,并且该错误位于“if”方法中。我让你成为程序的核心,这样你就可以运行它并帮助我解决这个问题
class Program
{
static void Main(string[] args)
{
String read = "auto";
String write;
char[] read_arr = read.ToCharArray();
Console.WriteLine("Escribe la siguiente palabra: {0}", read);
write = Console.ReadLine();
char[] write_arr = write.ToCharArray();
if (read_arr.Length == write_arr.Length)
{
if(read == write)
{
Console.WriteLine("Felicitaciones!!, Acertaste");
}
else
{
for(int c = 0; c <= read_arr.Length; c++)
{
if (read_arr[c] != write_arr[c])
{
Console.WriteLine("La letra '{0}' es incorrecta", write_arr[c]);
}
}
Console.WriteLine("Lo siento, te has equivocado");
}
}
else
{
Console.WriteLine("Lo siento, te has equivocado");
}
Console.ReadKey();
}
}
答案 0 :(得分:2)
for(int c = 0; c <= read_arr.Length; c++)
从0开始,迭代直到长度。你应该使用严格的比较。删除&#34; =&#34;来自c <= read_arr.Length
的char:
for(int c = 0; c < read_arr.Length; c++)
一个3大小的开始数组索引是0 - 1 - 2.当你从0开始时,不包括3。