这次我们来看到C#乱数的实务应用拉~ Random.Next()~
它又分为三种方向~ 分别是 Next()~ Next(100)~ Next(100, 200)~
这次的乱数实务比较複杂一点lol~ 因为写了不重複及例外错误的功能~
学习目标: Number Random 实务
学习难度: ☆☆☆
using System;using System.Collections.Generic;namespace ConsoleApp1{ class NumberRandom { public void RandomFucntion(int MiniNumber, int MaxNumber, int guessnumber) { Random randomrange = new Random(); List<int> RandomCandiate = new List<int>(); for (int i = 0; i < guessnumber; i++) { RandomCandiate.Add(randomrange.Next(MiniNumber, MaxNumber)); for (int j = 0; j < i; j++) { while (RandomCandiate[j] == RandomCandiate[i]) { j = 0; RandomCandiate[i] = randomrange.Next(MiniNumber, MaxNumber); } } Console.WriteLine(RandomCandiate[i]); } } } class MainProgram { static void Main() { NumberRandom numberrandom = new NumberRandom(); try { Console.WriteLine("Please input mini num"); int MiniNumber = int.Parse(Console.ReadLine()); if (MiniNumber < 0) { throw new ArgumentOutOfRangeException(); } Console.WriteLine("Please input max num"); int MaxNumber = int.Parse(Console.ReadLine()); Console.WriteLine("Please input how many num you wana guess"); int GuessNumber = int.Parse(Console.ReadLine()); if (GuessNumber < 0 || GuessNumber > 100000) { throw new ArgumentOutOfRangeException(); } numberrandom.RandomFucntion(MiniNumber, MaxNumber, GuessNumber); } catch (ArgumentOutOfRangeException ex) { Console.WriteLine("error"); Console.Write(ex.Message); Main(); } catch (Exception ex) { Console.WriteLine("error"); Console.Write(ex.Message); Main(); } } }}
参考资料:
https://www.geeksforgeeks.org/c-sharp-random-next-method/