要求:
编写一个方法,使用以上算法生成指定数目的随机整数(比如 1000个)。
思路:
首先应该生成一个随机数,即随机种子,然后在根据公式去编写代码。
代码:
package test3;
import java.util.Random;
import java.util.Scanner;
/**
* 公式:
公式的意思就是 x(n+1)=(7^5*x(n))%2^31-1
7^5=16807
2^31-1=2147483647
*/
public class Random2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner in=new Scanner(System.in);
System.out.println("请输入你想要生成的随机数个数:");
int a=in.nextInt();
System.out.println("请输入你想要几个随机数输出一行:");
int b=in.nextInt();
//随机数生成函数
Random rand =new Random();
int x=rand.nextInt(100);
for(int i=1;i<=a;i++) {
x=(16807*x)%2147483647;
System.out.print(x+ " " );
if(i%b==0)
System.out.println();
}
}
}
截图:
2.函数重载
请看一下代码,你发现了有什么特殊之处吗?
上述示例代码展示了Java的“方法重载”,
满足以下条件的两个或多个方法构成“重载”关系:
(1)方法名相同;
(2)参数类型不同,参数个数不同,或参数类型的顺序不同。
另外,方法的返回值不能作为判断方法重载的条件。