纯随机数发生器,以及函数重载的问题

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;
    

       截图:

       技术图片

 

 

 

以上是关于纯随机数发生器,以及函数重载的问题的主要内容,如果未能解决你的问题,请参考以下文章

动手动脑(&课后实验):生成随机数,函数的重载

类中的函数重载

类中的函数重载(二十三)

C++深度剖析学习总结 22 类中的函数重载

C++深度剖析学习总结 22 类中的函数重载

课程作业03-动手动脑(随机数函数重载50!)