1. 程式人生 > >判斷質數(包含輸入值try catch判斷,continue的使用)

判斷質數(包含輸入值try catch判斷,continue的使用)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace method06
{
    class Program
    {
        static void Main(string[] args)
        {
            int number = 0;
            string input = "";
            bool isPrimeNumber = true;
            do
            {
                Console.WriteLine("請輸入一個數,輸入q結束程式");
                input = Console.ReadLine();
                if (input == "q")
                {
                    Console.WriteLine("按任意鍵結束程式");
                    break;
                }
                try
                {
                    number = Convert.ToInt32(input);
                    //使用continue跳出本次迴圈
                    if (number < 1)
                    {
                        Console.WriteLine("輸入的數字應該是正數");
                        continue;
                    }
                    else
                    {
                        isPrimeNumber = IsPrimeNumber(number);
                        if (isPrimeNumber)
                        {
                            Console.WriteLine("{0}是質數", number);
                        }
                        else
                        {
                            Console.WriteLine("{0}不是質數", number);
                        }
                    }
                }
                catch
                {
                    Console.WriteLine("您輸入的格式不正確,請重新輸入");
                }

            } while (true);
            Console.ReadKey();

        }
        /// <summary>
        /// 計算一個數是否是質數
        /// </summary>
        /// <param name="number"></param>
        /// <returns>isPrimeNumber</returns>
        public static bool IsPrimeNumber(int number)
        {
            for (int i = 2; i < number; i++)
            {
                if (number % i == 0)
                {
                    return false;
                }
            }
            return true;
        }
    }
}