コード例 #1
0
        public static void ShowConsoleMenu(string[] inputParams)
        {
            bool isNewTry = false;

            do
            {
                if (isNewTry)
                {
                    inputParams = AskInputParams(InputData.CountParams);
                    isNewTry    = false;
                }

                if (!Validator.IsValid(inputParams))
                {
                    Console.WriteLine("Your data is not valid");
                    if (!AskBoolValue("Do you want to retype them?",
                                      new string[] { "YES", "Y" }))
                    {
                        break;
                    }

                    inputParams = AskInputParams(InputData.CountParams);

                    continue;
                }

                InputData inputData = Parser.Parse(inputParams);
                if (inputData.AlgorithmsArr.Length == 0)
                {
                    Console.WriteLine("Your file doesn`t have key words?");
                    if (!AskBoolValue("Do you want to choose another file?",
                                      new string[] { "YES", "Y" }))
                    {
                        break;
                    }

                    inputParams = AskInputParams(InputData.CountParams);

                    continue;
                }

                var factory = new LuckyTicketDeterminatorFactory();
                var counter = new LuckyTicketCounter(factory);

                PrintKeyValueArr("Number of lucky tickets: ",
                                 inputData.AlgorithmsArr,
                                 counter.GetRangeCountLuckyTickets(inputData.AlgorithmsArr));

                if (AskBoolValue("Do you want to continue?",
                                 new string[] { "YES", "Y" }))
                {
                    isNewTry = true;
                }
                else
                {
                    break;
                }
            } while (true);
        }