纯随机数发生器,以及函数重载的问题
Posted xp-thebest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纯随机数发生器,以及函数重载的问题相关的知识,希望对你有一定的参考价值。
- 用手写代码实现随机数的生成
公式:
公式的意思就是 x(n+1)=(16807*x(n))%2^31-1
代码如下:
package javatask; import java.util.Random; import java.util.Scanner; public class Random1 static Scanner in=new Scanner(System.in); static public void Seed(long seed) Random rand=new Random(); long a,x=0,x1; System.out.println("请输入想要产生的随机数的个数"); a=in.nextLong(); for(long i=1;i<=a;i++) x1=(16800*seed)%(Integer.MAX_VALUE); System.out.println(x1); x++; if(x<=(2e+32)-2) seed=x1; else seed=rand.nextLong(); public static void main(String []args) long b; System.out.println("请输入想要输入的种子"); b=in.nextLong(); Seed(b);
- 关于函数重载
1.满足以下两个条件即可构成函数重载
①方法名相同
②参数类型不同,参数个数,参数类型的顺序不同
注意函数的返回值类型不能作为函数重载的判断条件:因为在运行时,一开始并不知道所调用的函数返回值是什么,一开始只会根据参数的类型去寻找对应的函数
2.代码:
package javaclass2; // MethodOverload.java // Using overloaded methods public class MethodOverload public static void main(String[] args) System.out.println("The square of integer 7 is " + square(7)); System.out.println("\\nThe square of double 7.5 is " + square(7.5)); public static int square(int x) return x * x; public static double square(double y) return y * y;
截图:
以上是关于纯随机数发生器,以及函数重载的问题的主要内容,如果未能解决你的问题,请参考以下文章