动手动脑(lesson2)

一·随机数生成问题

//信1605-3 20163683 蔡金阳
package lesson2;

public class Suiji
{
        private static final int N = 200;
        private static final int LEFT = 40;
        private static final int RIGHT = 1000;
        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;
        }
        //表示a~b之间的一个随机数
        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)参数类型不同,参数个数不同,或者是参数类型的顺序不同。

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

posted @ 2017-10-14 00:24  蔡二傻  阅读(142)  评论(0编辑  收藏  举报