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.请看以下代码,你发现了有什么特殊之处吗?
发现:两个计算平方的方法的方法名只有参数类型不一样和返回值类型不一样,编译依然能通过。由于方法参数类型不同,所以形成方法重载。
3.查看一下JDK中System.out.println()方法,你发现了什么?
JDK中有许多System.out.println()同名的重载方法。为了使编程时输出更加方便,所以把输出的方法都同名重载。