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)参数类型不同,参数个数不同,或者是参数类型的顺序不同。
注意:方法的返回值不作为方法重载的判断条件。
最新文章
- jquery api
- CSS3 中border-image详解
- Spring事务传递性探讨
- 支付宝api教程,支付宝根据交易号自动充值
- Node做中转服务器,转发接口
- linux yum源配置及vim运用
- Spring AOP异常捕获原理
- org.springframework.boot.web.server.WebServerException: Unable to create tempDir. java.io.tmpdir is set to C:\Users\ADMINI~1\AppData\Local\Temp\2\
- python2和python3比较好的共存方法
- [HNOI2010] 城市建设_动态最小生成树(Dynamic_MST)
- ubuntu安装图形界面
- centos 安装arcgis server 10.1
- 第21章:MongoDB-聚合操作--聚合管道--$geoNear
- CAN总线波形中ACK位电平为什么会偏高?
- ListView中Button事件
- VS2008项目移植到Linux
- jedis 整合 Spring
- Sqlite基础简介
- Problem D: 指针:调用自定义排序函数sort,对输入的n个数进行从小到大输出。
- Web.config配置文件中的属性add,key,value含义