c# - 在 while 循环的第二次迭代中跳过了一段代码
问题描述
我有这段代码要求用户输入x
和y
:
do
{
Console.Write("x = ");
string str = Console.ReadLine();
if (str.ToLower().Equals("exit"))
{
Console.WriteLine("Program has stopped");
break;
}
else
{
while (!int.TryParse(str, out x))
{
Console.Write("x = ");
str = Console.ReadLine();
}
while (!int.TryParse(yVal, out y))
{
Console.Write("y = ");
yVal = Console.ReadLine();
}
}
Console.WriteLine("Do you want to Add, Subtract, Multiply, or Divide ?");
f = Console.ReadLine();
if (f.ToLower().Equals("add"))
{
sum = x + y;
Console.WriteLine("Result: {0}", sum);
}
else if (f.ToLower().Equals("subtract"))
{
difference = x - y;
Console.WriteLine("Result: {0}", difference);
}
else if (f.ToLower().Equals("multiply"))
{
product = x * y;
Console.WriteLine("Result: {0}", product);
}
else if (f.ToLower().Equals("divide"))
{
quotient = x / y;
Console.WriteLine("Result: {0}", quotient);
}
}
while (true);
- 它在第一次尝试时运行顺利,但
- 在第二个它询问
x
并跳过y
直接询问
我该如何解决这个问题?
解决方案
推荐阅读
- sql - 新 ID 的序列生成
- javascript - 如何从Javascript中的对象数组中获取相同键的数组?
- javascript - React-Native:使用实时数据优化大型列表的更新
- javascript - Angular 类实例在生产构建中提供对象实例
- flutter - Flutter Popup Widget in a Provider - 什么上下文弹出它关闭?
- r - 逐行检查多个列的条件
- ffmpeg - 如果当前帧没有视频,是否可以将几个视频连接在一起,设置它们的时间并显示背景图像?
- python - MNIST 数据集未能转换为张量对象
- css - 如何在 React Native 中创建门动画
- android - APK 或 App Bundle 可用于 64 位设备,但它们只有 32 位本机