码迷,mamicode.com
首页 > 编程语言 > 详细

Java方法4

时间:2016-10-15 19:10:33      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

1.纯随机数发生器

Xn+1=(aXn + c)mod m

Modulus=231-1=int.MaxValue

Multiplier=75=16807

C=0

当显示过2^31-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;
}

/**
* 表示a~b之间的一个随机数
*
* @param a
* @param b
* @param rand
* @return
*/
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.请看以下代码,你发现了有什么特殊之处吗?

技术分享

上述示例代码展示了Java的“方法重载(overload)”特性。 满足以下条件的两个或多个方法构成“重载”关系: (1)方法名相同; (2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。 注意:方法的返回值不作为方法重载的判断条件。

Java方法4

标签:

原文地址:http://www.cnblogs.com/ZHAOHAN666/p/5964826.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!