c# - C# 程序关闭而不打印最终的 WriteLine 语句
问题描述
我正在尝试编写一个 C# 程序(在 Visual Studio 中),该程序将一些数字作为键盘输入并打印其中最小和最大的数字。这是一个家庭作业,我打算只使用到目前为止课堂上涵盖的东西。所以,我很清楚这可以通过数组和 MATH.min 和 max 方法以更简单的方式完成。然而,这个程序的重点只是练习 if/else 逻辑。无论如何,逻辑不是我的问题。下面的代码按预期工作,直到输入最终用户输入的数字,然后它只是关闭而不打印用于显示结果的最终 writeline 语句。有什么需要做的来解决这个问题吗?谢谢!
using System;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
double maxNum = 0;
double minNum = int.MaxValue;
int numToEnter;
int enterCounter = 0;
double currentNum;
Console.Write("How many numbers will be entered?: ");
numToEnter = int.Parse(Console.ReadLine());
while (enterCounter < numToEnter)
{
Console.Write("Enter a positive number: ");
currentNum = double.Parse(Console.ReadLine());
if (currentNum >= 0)
{
if (currentNum >= maxNum)
{
maxNum = currentNum;
}
if (currentNum < minNum)
{
minNum = currentNum;
}
enterCounter++;
}
else
{
Console.Write("Please enter a positive number: ");
}
}
Console.WriteLine("The largest number is: {0}. The lowest number is: {1}", maxNum, minNum);
}
}
}
解决方案
您的问题可能与您测试程序的方式有关。我不能确定,但解决它的一种方法是在 main.js 的末尾使用它。
Console.ReadLine();
您是在调试的情况下运行它还是在不调试的情况下运行它?我怀疑您正在运行调试,这可以解释为什么会发生这种情况。“开始调试”和“开始不调试”之间存在区别,一般来说,调试会立即终止应用程序,但“发布构建”不会。因此,您可以使用任一 Console.ReadLine() 方法来停止它,但如果您的讲师需要发布版本,那么您的代码就可以了。
F5 = 带调试运行 CTRL + F5 = 不带调试运行(用于发布版本)或者如果您不知道如何使用断点。
我个人建议对这个实例使用 for 循环。
for (enterCounter; enterCounter <= numToEnter; enterCounter++)
{
//Run This code
}
推荐阅读
- mongodb - 将从 pyspark 读取 mongodb 集合,使 mongodb 变慢或导致写入锁和崩溃 mongodb
- python - Web 动态抓取内容包装器数据
- android - 未解决的参考:Android Studio 3.6 中的 ActivityMainBinding
- ios - 在 Swift 中使用基于令牌的身份验证(多个 ViewController)处理用户登录
- java - 如何使用命令行构建java项目?
- java - 从java中的方法返回一个数组?
- python - pip install simple-crypt - 在 rhel7 中失败
- macos - 如何从聚合 CoreAudio 设备中排除输入或输出通道?
- linux - 按照官方说明安装rclone但权限被拒绝
- arrays - 统一选择特定数组