C# Console模式下按照「命令列引數」計算該數字的階乘
由於經常利用c++製作Console模式下按照「命令列引數」的小程式,因此剛才好奇想知道c#要如何實現,因此到google爬聞得一下,發現這個實用的範例,貼出來和同好分享,歡迎有需要的同好來(c/p)一下。
//GOOGLE: c# main args //命令列引數 (C# 程式設計手冊) //下列範例將示範如何在主控台應用程式中使用命令列引數。程式會在執行階段使用一個引數、將該引數轉換成整數,並且計算該數字的階乘。如果沒有提供引數,這個程式會發出一個解釋該程式正確用法的訊息。 //http://msdn.microsoft.com/zh-tw/library/cb20e19t(v=vs.90).aspx public class Functions { public static long Factorial(int n) { // Test for invalid input if ((n <= 0) || (n > 256)) { return -1; }
// Calculate the factorial iteratively rather than recursively: long tempResult = 1; for (int i = 1; i <= n; i++) { tempResult *= i; } return tempResult; } }
class MainClass { static int Main(string[] args) { // Test if input arguments were supplied: if (args.Length == 0) { System.Console.WriteLine("Please enter a numeric argument."); System.Console.WriteLine("Usage: Factorial <num>"); return 1; }
// Try to convert the input arguments to numbers. This will throw // an exception if the argument is not a number. // num = int.Parse(args[0]); int num; bool test = int.TryParse(args[0], out num); if(test == false) { System.Console.WriteLine("Please enter a numeric argument."); System.Console.WriteLine("Usage: Factorial <num>"); return 1; }
// Calculate factorial. long result = Functions.Factorial(num);
// Print result. if(result == -1) System.Console.WriteLine("Input must be > 0 and < 256."); else System.Console.WriteLine("The Factorial of {0} is {1}.", num, result);
return 0; } } // If 3 is entered on command line, the // output reads: The factorial of 3 is 6.
|
沒有留言:
張貼留言