zoukankan      html  css  js  c++  java
  • java动手动脑和课后实验型问题第四讲

    1.完全“手写代码实现”随机数生成

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

    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);

      }

    }

    2.

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

    我发现同样名称的函数可以不同,不同的参数类型可以自动调用相应的函数(方法),即方法的重载。

    满足以下条件的两个或多个方法构成“重载”关系:

    (1)方法名相同;

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

    注意:方法的返回值不作为方法重载的判断条件。

     
  • 相关阅读:
    matlab常见函数汇总
    matlab矩阵合并汇总
    matlab之光谱预处理
    matlab添加高斯噪声
    ArcMap将shp文件批量逐个导出
    hdu 1090 A+B for Input-Output Practice (II)
    c语言插入排序递归法
    c语言最大公约数(辗转相除法)递归
    c语言斐波那契数列递归法
    c语言反转字符串
  • 原文地址:https://www.cnblogs.com/ming123/p/5965935.html
Copyright © 2011-2022 走看看