【C#】Number Random

这次我们来看到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/


<<:  【C++】Singly Linked lists

>>:  Excelize 释出 2.6.0 版本,功能强大的 Excel 档案基础库

【Day 12】Python os._exit()和 sys.exit()

Python的程序有2种退出方式:os._exit(), sys.exit() os._exit()...

[iT铁人赛Day19]JAVA的类别

今天是有关JAVA最後一天的分享了,後天要开始分享CPE的历届试题 然後明天我打算写一篇JAVA的习...

解除宝塔面板安装插件时至少需要XX内存才能安装的限制

在使用宝塔面板过程中,如果你用的是小内存的VPS主机,在宝塔面板安装Docker、Mysql等时会提...

【Day3】服务器管理(1)-实体机的基础建置

接着我们来实作怎麽建置一台实体机成为一台 Hypervisor。 这边我们会以企业最常见的架构 VM...

Day 17 利用 helm 安装 Jenkins

利用 Helm 安装 Jenkins 安装 Go sudo apt-get install gola...