1.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。
import java.math.BigInteger;
public class Suijishu
public static void main(String[] args) {
int n=1000;//n是生成随机数的个数
Creat(n);
}
static BigInteger Creat(int n) {//生成随机数
BigInteger result;//生成的随机数
if(n==1) {//生成第一个随机数,由于没有Creat(n-1),所以用Math.random();
result=BigInteger.valueOf((int)Math.random()*100000+1);
System.out.println("第1个随机数是"+result);
return result;
}
else {
BigInteger i=Creat(n-1).multiply(BigInteger.valueOf(16807));
result=i.mod(BigInteger.valueOf(Integer.MAX_VALUE));//随机数等于Creat(n-1)*16807%int.MAX_VALUE
System.out.println("第"+n+"个随机数是"+result);
return result;
}
}
}
2.
函数重载
请看以下代码,你发现了有什么特殊之处吗
两个函数虽然函数名相同,但形参类型不同,在调用的时候,根据形参的不同调用不同的函数。
满足以下条件的两个或多个方法构成“重载”关系:
(1)方法名相同;
(2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。
查看一下JDK中System.out.println()方法,你发现了什么?