私は祈りの時間のアプリケーションを作っていた、それは基本的な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;'を定義します。 'default'の場合、' myBool = false; 'を設定します。今度は 'default'ケースが最初にヒットすると' while'ループは 'true'にならなくなり、終了します。 – sab669
whileループをtrueに設定しているため、コードは実行され続けます。簡単な解決策が必要な場合は、 'true'をtrueに変更してから' false'に設定してください。 – NoReceipt4Panda
入力を 'DateTime'に解析することをお勧めします。このようにswitch文を避け、より多くの日付を処理できるはずです。 – juharr