判斷質數(包含輸入值try catch判斷,continue的使用)
阿新 • • 發佈:2019-02-11
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; } } }