1 编写一个方法,生成一千个随机数,用ppt提供的纯随机数发生器。
做这个题目时,看到老师已经给出Xn+1=(aXn+c) mod Integer.MAX_VALUE;给出了公式自然就算法明了。
我想到了用一个函数的返回值再次作为这个函数的参数,进行一个嵌套的使用,这时候只需要找到X0就成功了,通过翻阅ppt和在网上查询相关资料确定了种子seed,也就是X0的初值。
seed=seed = System.currentTimeMillis();就是确定X0的相关语句,最后在主函数中写一个for循环,嵌套函数使用就完成了。
具体代码如下:
1 package java课堂; 2 /*20173442 田昕可 信1705-3*/ 3 public class Java02 { 4 5 public static long func(long n) 6 { 7 long number=(16807 * n) % Integer.MAX_VALUE; 8 return number; 9 } 10 11 public static void main(String[] args) { 12 // TODO 自动生成的方法存根 13 long seed = System.currentTimeMillis();//种子 14 int i; 15 int count=0; 16 long random=func(seed);//X0 17 for(i=1;i<=1000;i++) 18 { 19 random=func(random); 20 System.out.print(random+" "); 21 count++; 22 if(count%5==0) 23 System.out.print(" ");//为了整洁,每五个随机数换一行 24 } 25 } 26 27 }
2.查看一下jdk中的System.out.println()方法,你发现了什么
在平时的写代码过程中,我最习惯用println()方法,因为它十分的方便,不管参数是字符串还是数字还是字符,都能够自动识别并且打印出来。
System.out.println()运用了函数重载的方法,是参数不同,函数名相同的函数重载的标准案例,根据用户所给的参数的不同,自动调用不用的函数来实现功能,
避免了函数名过多的麻烦,直接运用即可。