返回主码

时间:2015-10-16 11:11:02

标签: c#

我刚刚在C#中编写了一个简单的代码,用于显示一条消息,该消息将您的输入视为睡眠时间,并根据该消息返回您是否休息好或没有。

问题是无论何时键入除整数之外的任何内容都会引发异常,因此我尝试使用try和catch方法处理此问题。 我希望我的代码在下次正确输入整数后再次返回评估。如何修改我的代码来执行此操作?

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("your name");
            string name = Console.ReadLine();
            Console.WriteLine("how many hours of sleep did you get");

            try
            {
                int hoursOfSleep = int.Parse(Console.ReadLine());
                Console.WriteLine("hello " + name);

                if (hoursOfSleep > 8)
                {
                    Console.WriteLine("you are well rested");
                }
                else
                {
                    Console.WriteLine("you need sleep");
                }
            }
            catch
            {
                Console.WriteLine("Invalid Hours !! ");
                Console.WriteLine(" Enter hours in integer");
            }

        }
    }
}

2 个答案:

答案 0 :(得分:8)

代替try...catch阻止使用循环和TryParse <{1}}

的方法
int

答案 1 :(得分:3)

尝试将try-catch包装成类似

的东西
while(Console.Readline() != "q")
{
... your code here ...

}

然后您的应用程序将继续,直到您键入q并按Enter