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
匹配。如果可以,请使用 int
或 decimal
.
我仍在学习 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
匹配。如果可以,请使用 int
或 decimal
.