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

  • 用手写代码实现随机数的生成

         公式:java

          

         

 

 

          公式的意思就是  x(n+1)=(16807*x(n))%2^31-1dom

 

 

 

          代码以下:函数

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.知足如下两个条件便可构成函数重载spa

            ①方法名相同3d

            ②参数类型不一样,参数个数,参数类型的顺序不一样code

            注意函数的返回值类型不能做为函数重载的判断条件:由于在运行时,一开始并不知道所调用的函数返回值是什么,一开始只会根据参数的类型去寻找对应的函数blog

          2.代码:class

            

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;
    }
}

       截图:import

       

相关文章
相关标签/搜索