1.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。
public class PureRandomNumberGenerator {
// 模数,即 2^31 - 1
private static final long MODULUS = 2147483647L;
// 乘数
private static final long MULTIPLIER = 16807L;
// 增量 c,这里为 0
private static final long C = 0L;
// 初始种子值(可根据需要修改)
private long seed = 1L;
// 生成下一个随机数
public long nextRandom() {seed = (MULTIPLIER * seed + C) % MODULUS;return seed;
}public static void main(String[] args) {PureRandomNumberGenerator generator = new PureRandomNumberGenerator();int count = 1000;for (int i = 0; i < count; i++) {long randomNum = generator.nextRandom();System.out.println(randomNum);}
}
}
2.请看以下代码,你发现了有什么特殊之处吗?
这段代码展示了 ** 方法重载(Method Overloading)** 的特性。
有两个名为 square 的方法。
第一个 square 方法接收 int 类型的参数,返回 int 类型的平方值。
第二个 square 方法接收 double 类型的参数,返回 double 类型的平方值。
在 main 方法中,根据传入参数的类型(int 类型的 7 和 double 类型的 7.5),Java 会自动调用对应的 square 方法,实现了对不同数据类型进行平方运算的功能,体现了方法重载的灵活性。