• 动手动脑


    Modulus=231-1=int.MaxValue

    Multiplier=75=16807

    C=0

    当显示过231-2个数之后,才可能重复。

    动手动脑: 编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。

    public class suiji

    {

      private static final int N = 200;

      private static final int LEFT = 40;

      private static final int RIGHT = 10000;

      private static long x0 = 1L;

      private long a = 1103515245L;

      private long c = 12345L;

      private long m = 2147483648L;

      // 产生随机数

      private long rand ( long r )

      {

        // a,c,m为常数

        r = ( r * a + c ) % m;//Xn+1=(aXn + c)mod m

        return r;

      }

      private long little ( int a, int b, long rand )

      {

        return a + rand % ( b - a + 1 );

      }

      private void recursion ( int count, long rand )

      {

        if (count >= N)

        {

          return;

        }

        rand = rand (rand);

        long r = little (LEFT, RIGHT, rand);

        System.out.print (r + " ");

        recursion (++count, rand);

      }

      public static void main ( String[] args )

      {

        suiji recur = new suiji ();

        recur.recursion (0, x0);

      }

    }

    请看以下代码,你发现了有什么特殊之处吗?

     分别用整数和浮点数进行了方法的重载

    (1)方法名相同;

    (2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。

  • 相关阅读:
    Resize a VMWare disk (zz)
    StepbyStep: Installing SQL Server Management Studio2008 Express after Visual Studio 2010(zz)
    (C#)利用反射动态调用类成员[转载]
    Discuz!NT 系统架构分析 (转)
    C#反射实例讲解(转)
    什么是反射?
    创建保存图片目录
    取资源文件中的值 System.Resources.ResourceManager
    Net中的反射使用入门
    iis上实现虚拟目录
  • 原文地址:https://www.cnblogs.com/xueqiuxiang/p/11580265.html
Copyright © 2020-2023  润新知