C# While 无限循环

C# While Infinite Loop

我仍在学习 C# 的基础知识,目前正忙于编写一些让我陷入死循环的代码。

   do
   {
        Console.Write("Please enter the Exam mark for student " + (index + 1) + ": ");
        Exam[index] = double.Parse(Console.ReadLine());

        Console.Write("Please enter the DP for student " + (index + 1) + ": ");
        DP[index] = double.Parse(Console.ReadLine());

        Final[index] = (DP[index] + Exam[index]) / 2;

            index++;
    } while (DP[index] != 999);

当我输入 999 时密码没有中断。

您在检查 while 条件之前将索引增加 1。我猜该索引的值是 0...

一个解决方案可以是记住变量中的前一个值,或者从索引中减去一个:

    } while (DP[index - 1] != 999);

另一个问题可能是双精度数的使用,因为它不精确,如果您输入该值,它并不总是与 999 匹配。如果可以,请使用 intdecimal.