java基础算法之随机数的产生

来源:互联网 发布:深圳数据恢复中心 编辑:程序博客网 时间:2024/06/06 14:15

jk这篇代码写的是一段伪随机数的产生,通过两个变量和一个种子来得到一个和,然后在找一个base,得到的和除以base得到余数, 余数除以base就是我们求的随机数,大家看代码理一下就是了。

代码:

package com.jk.random;/** *  * @author jk这篇代码写的是一段伪随机数的产生,通过两个变量和一个种子来得到一个和,然后在找一个base,得到的和除以base得到余数, *         余数除以base就是我们求的随机数,大家看代码理一下就是了。 *  */public class test {/** * @param args */public static void main(String[] args) {//第一个随机数种子double[] r = new double[] { 5.1 };for (int i = 0; i < 100; i++) {System.out.println(rand(r));}}private static double rand(double[] r) {double base, u, v, p, temp1, temp2, temp3;base = 256;u = 17.0;v = 139.0;// 计算总值temp1 = u * (r[0]) + v;// 计算商temp2 = (int) (temp1 / base);// 计算余数temp3 = temp1 - temp2 * base;// 更新种子r[0] = temp3;// 获得随机数p = r[0] / base;return p;}}


0 0