示例#1
0
        public void Run()
        {
            try
            {
                Console.WriteLine("1 - Execute method fibonacci");

                Console.WriteLine("2 - Execute method factorial");

                Console.WriteLine("3 - Group animals ");

                Console.WriteLine("4 - Group numbers into even and odd");

                Console.WriteLine("5 - exit");

                int inputNumber = 0;

                while (inputNumber != 5)
                {
                    Console.WriteLine("Input one of number to execute command you want, please ");

                    bool inputData = int.TryParse(Console.ReadLine(), out inputNumber);

                    while (!inputData)
                    {
                        Console.WriteLine("Not valid");
                        Console.WriteLine("You input wrong data, please try enter number again");
                        inputData = int.TryParse(Console.ReadLine(), out inputNumber);
                    }

                    while (inputNumber < 1 && inputNumber > 5)
                    {
                        Console.WriteLine("You input wrong number, please enter number again");
                        inputData = int.TryParse(Console.ReadLine(), out inputNumber);
                    }

                    if (inputNumber == 1)
                    {
                        int inputFibonacciNumber = 0;

                        Console.WriteLine("Input positive number");

                        bool inputUserFibonacciNumber = int.TryParse(Console.ReadLine(), out inputFibonacciNumber);

                        while (!inputUserFibonacciNumber)
                        {
                            Console.WriteLine("Not valid");
                            Console.WriteLine("You input wrong data, please try enter number again");
                            inputUserFibonacciNumber = int.TryParse(Console.ReadLine(), out inputFibonacciNumber);
                        }

                        var fibonacciResult = _fibonacci.GetMemberFibonacci(inputFibonacciNumber);
                        Console.WriteLine("Fibonacci result is " + fibonacciResult);
                    }
                    else if (inputNumber == 2)
                    {
                        int inputFactorialNumber = 0;

                        Console.WriteLine("Input positive number");

                        bool inputUserFactorialNumber = int.TryParse(Console.ReadLine(), out inputFactorialNumber);

                        while (!inputUserFactorialNumber)
                        {
                            Console.WriteLine("Not valid");
                            Console.WriteLine("You input wrong data, please try enter number again");
                            inputUserFactorialNumber = int.TryParse(Console.ReadLine(), out inputFactorialNumber);
                        }

                        var factorialResult = _factorial.GetFactorial(inputFactorialNumber);

                        Console.WriteLine("Factorial result is " + factorialResult);
                    }
                    else if (inputNumber == 3)
                    {
                        var groupByMeal = _linq.GroupAnimalByFavouriteMeal(_animals);

                        foreach (var group in groupByMeal)
                        {
                            Console.WriteLine("Favourite meal {0} ", group.Key);

                            foreach (var animal in group)
                            {
                                Console.WriteLine("{0}", animal.Name);
                            }
                        }
                    }
                    else if (inputNumber == 4)
                    {
                        int[] numbers        = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
                        var   divisionResult = _linq.DivideNumbersIntoEvenAndOdd(numbers);

                        foreach (var group in divisionResult)
                        {
                            Console.WriteLine("Group key {0} ", group.Key);

                            foreach (var number in group)
                            {
                                Console.WriteLine("{0}", number);
                            }
                        }
                    }
                }
            }
            catch (Exception m)
            {
                Console.WriteLine(m);
            }
        }