C#程序关闭而不打印最终的WriteLine语句

时间:2018-09-08 19:22:17

标签: c# io

我正在尝试编写一个C#程序(在Visual Studio中),该程序将一些数字用作键盘输入,并打印其中最小和最大的数字。这是一项家庭作业,到目前为止,我打算仅使用课堂上介绍的内容。因此,我很清楚,可以使用数组以及MATH.min和max方法以更简单的方式完成此操作。但是,该程序的目的只是练习if / else逻辑。无论如何,逻辑不是我的问题。在输入最终用户输入的数字之前,下面的代码将按预期工作,然后关闭,而无需打印用于显示结果的最终写入行语句。需要解决此问题吗?谢谢!

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);
        }

    }
}

2 个答案:

答案 0 :(得分:0)

您的问题可能与您测试程序的方式有关。我不能确定,但​​是解决此问题的一种方法是在主机的最后使用它。

Console.ReadLine();

您正在运行带有调试功能还是没有调试功能?我怀疑您正在运行调试程序,这将解释其发生原因。 “从调试开始”和“无调试开始”之间有区别,通常说来,调试会立即终止应用程序,而“发行版本”不会。因此,您可以使用Console.ReadLine()方法之一来停止它,但是如果您的讲师需要发布版本,那么您的代码就可以了。

F5 =运行调试 CTRL + F5 =运行而无需调试(用于发行版本),或者如果您不知道如何使用断点。

我个人建议对此实例使用for循环。

for (enterCounter; enterCounter <= numToEnter; enterCounter++)
{
     //Run This code
}

答案 1 :(得分:0)

添加

Console.ReadLine();

之后

Console.WriteLine("The largest number is: {0}. The lowest number is: {1}", maxNum, minNum);