码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-09-25 22:46:42      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:acl   integer   意思   random   sys   个数   i++   输入   运行时   

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

         公式:

          技术图片

          技术图片

 

 

          公式的意思就是  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;
    }
}

       截图:

       技术图片

 

 

 

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

标签:acl   integer   意思   random   sys   个数   i++   输入   运行时   

原文地址:https://www.cnblogs.com/xp-thebest/p/11587934.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!