课后作业
1.纯随机数发生器

线性同余算法实现:
MyRandom类
public class MyRandom { private static final long multiplier=0x5DEECE66DL; private static final long modulus = 1L << 48; private static final long addend = 0xBL; private long seed; public void setSeed(long x){ seed=x; } public int nextRandom() { this.seed = lcg(modulus, multiplier, addend, this.seed); return (int) (seed >>> 16); } protected long lcg(long m, long a, long c, long seed) { return (seed * a + c) % m; } }
主函数rand类
import java.util.Scanner;
public class rand {
public static void main(String[] args) {
MyRandom mr=new MyRandom();
System.out.print("请输入随机数个数:");
int n;
mr.setSeed(System.currentTimeMillis());
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
for(int i=0;i<n;i++){
System.out.println(" "+mr.nextRandom());
}
}
}
运行结果:

种子由当前时间指定,会产生不同的随机数
2.函数重载

square函数的形参的数据类型不同,发生了函数重载。
浙公网安备 33010602011771号