我正在做一个祈祷时间的应用程序,它由一个基本的switch语句和一个类组成。我做了一个默认的错误,但由于我有一个while语句,错误一直在循环。我怎样才能在默认停止循环的权利,我想下面循环的开关语句是我的代码 -停止默认循环
string input = Console.ReadLine();
while (true)
{
switch (input)
{
case "6/12/2017":
case "06/12/2017":
Console.WriteLine("Fajr - 3:32 AM");
Console.WriteLine("Sunrise - 5:14 AM");
Console.WriteLine("Dhuhr - 12:51 PM");
Console.WriteLine("Asr - 4:53 PM");
Console.WriteLine("Maghrib - 8:27 PM");
Console.WriteLine("Isha - 10:10 PM");
Console.WriteLine();
break;
case "6/13/2017":
case "06/13/2017":
Console.WriteLine("Fajr - 3:32 AM");
Console.WriteLine("Sunrise - 5:14 AM");
Console.WriteLine("Dhuhr - 12:51 PM");
Console.WriteLine("Asr - 4:54 PM");
Console.WriteLine("Maghrib - 8:27 PM");
Console.WriteLine("Isha - 10:10 PM");
Console.WriteLine();
break;
case "6/14/2017":
case "06/14/2017":
Console.WriteLine("Fajr - 3:32 AM");
Console.WriteLine("Sunrise - 5:14 AM");
Console.WriteLine("Dhuhr - 12:51 PM");
Console.WriteLine("Asr - 4:54 PM");
Console.WriteLine("Maghrib - 8:28 PM");
Console.WriteLine("Isha - 10:11 PM");
Console.WriteLine();
break;
case "6/15/2017":
case "06/15/2017":
Console.WriteLine("Fajr - 3:32 AM");
Console.WriteLine("Sunrise - 5:14 AM");
Console.WriteLine("Dhuhr - 12:52 PM");
Console.WriteLine("Asr - 4:54 PM");
Console.WriteLine("Maghrib - 8:28 PM");
Console.WriteLine("Isha - 10:11 PM");
Console.WriteLine();
break;
case "6/16/2017":
case "06/16/2017":
Console.WriteLine("Fajr - 3:32 AM");
Console.WriteLine("Sunrise - 5:14 AM");
Console.WriteLine("Dhuhr - 12:52 PM");
Console.WriteLine("Asr - 4:55 PM");
Console.WriteLine("Maghrib - 8:28 PM");
Console.WriteLine("Isha - 10:12 PM");
Console.WriteLine();
break;
case "6/17/2017":
case "06/17/2017":
Console.WriteLine("Fajr - 3:32 AM");
Console.WriteLine("Sunrise - 5:14 AM");
Console.WriteLine("Dhuhr - 12:52 PM");
Console.WriteLine("Asr - 4:55 PM");
Console.WriteLine("Maghrib - 8:29 PM");
Console.WriteLine("Isha - 10:12 PM");
Console.WriteLine();
break;
case "6/18/2017":
case "06/18/2017":
Console.WriteLine("Fajr - 3:32 AM");
Console.WriteLine("Sunrise - 5:15 AM");
Console.WriteLine("Dhuhr - 12:52 PM");
Console.WriteLine("Asr - 4:55 PM");
Console.WriteLine("Maghrib - 8:29 PM");
Console.WriteLine("Isha - 10:13 PM");
Console.WriteLine();
break;
case "6/19/2017":
case "06/19/2017":
Console.WriteLine("Fajr - 3:32 AM");
Console.WriteLine("Sunrise - 5:15 AM");
Console.WriteLine("Dhuhr - 12:52 PM");
Console.WriteLine("Asr - 4:55 PM");
Console.WriteLine("Maghrib - 8:29 PM");
Console.WriteLine("Isha - 10:13 PM");
Console.WriteLine();
break;
case "6/20/2017":
case "06/20/2017":
Console.WriteLine("Fajr - 3:32 AM");
Console.WriteLine("Sunrise - 5:15 AM");
Console.WriteLine("Dhuhr - 12:53 PM");
Console.WriteLine("Asr - 4:55 PM");
Console.WriteLine("Maghrib - 8:30 PM");
Console.WriteLine("Isha - 10:13 PM");
Console.WriteLine();
break;
case "6/21/2017":
case "06/21/2017":
Console.WriteLine("Fajr - 3:32 AM");
Console.WriteLine("Sunrise - 5:15 AM");
Console.WriteLine("Dhuhr - 12:53 PM");
Console.WriteLine("Asr - 4:56 PM");
Console.WriteLine("Maghrib - 8:30 PM");
Console.WriteLine("Isha - 10:13 PM");
Console.WriteLine();
break;
case "6/22/2017":
case "06/22/2017":
Console.WriteLine("Fajr - 3:33 AM");
Console.WriteLine("Sunrise - 5:15 AM");
Console.WriteLine("Dhuhr - 12:53 PM");
Console.WriteLine("Asr - 4:56 PM");
Console.WriteLine("Maghrib - 8:30 PM");
Console.WriteLine("Isha - 10:14 PM");
Console.WriteLine();
break;
case "6/23/2017":
case "06/23/2017":
Console.WriteLine("Fajr - 3:33 AM");
Console.WriteLine("Sunrise - 5:15 AM");
Console.WriteLine("Dhuhr - 12:53 PM");
Console.WriteLine("Asr - 4:56 PM");
Console.WriteLine("Maghrib - 8:30 PM");
Console.WriteLine("Isha - 10:13 PM");
Console.WriteLine();
break;
case "6/24/2017":
case "06/24/2017":
Console.WriteLine("Fajr - 3:33 AM");
Console.WriteLine("Sunrise - 5:16 AM");
Console.WriteLine("Dhuhr - 12:52 PM");
Console.WriteLine("Asr - 4:56 PM");
Console.WriteLine("Maghrib - 8:30 PM");
Console.WriteLine("Isha - 10:14 PM");
Console.WriteLine();
break;
default:
Console.WriteLine("Error - Please make sure you're input is similar to the example shown");
break;
}
}
而不是'while(true)','while(myBool)'。然后在'while'之前的某个地方定义'bool myBool = true;'。在你的默认情况下,设置'myBool = false;'。现在,一旦第一次触发'default'的情况下,'while'循环将不再是'true',因此它将退出。 – sab669
您的代码将继续运行,因为您将while循环设置为true。如果你想要一个简单的解决方案,把'true'改为一个设置为true的变量,然后将该变量设置为'false' – NoReceipt4Panda
你可能想要考虑把输入解析成一个'DateTime'。你应该能够以这种方式避免switch语句并处理更多的日期。 – juharr