产生正负随机数的问题,请大家帮我看看,很急! 本帖最后由 ratzip 于 2011-02-21 08:05:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public double nextDouble()返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。 nextDouble 的常规协定是,伪随机地生成并返回一个从 0.0d(包括)到 1.0d(不包括)范围内均匀选择(大致)的 double 值。 Random 类按如下方式实现 nextDouble 方法: public double nextDouble() { return (((long)next(26) << 27) + next(27)) / (double)(1L << 53); }前面的描述中使用了不确定的词“大致”,因为 next 方法只是一个大致上独立选择位的无偏源。如果它是一个随机选择位的最佳源,那么给出的算法应该从规定范围完全一致地选择 double 值。 [在 Java 的早期版本中,结果被错误地计算为: return (((long)next(27) << 27) + next(27)) / (double)(1L << 54);这可能看似等效(如果不是更好的话),但实际上由于浮点数舍入中的偏差,它会引入较大的不均匀性:有效数的低位出现 0 的可能性是 1 的三倍!这种不均匀性在实践中可能没什么关系,但我们总是力求完美。] 返回:下一个伪随机数,它是此随机数生成器序列中 0.0 和 1.0 之间均匀分布的 double 值另请参见:Math.random() public double nextDouble()返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。 nextDouble 的常规协定是,伪随机地生成并返回一个从 0.0d(包括)到 1.0d(不包括)范围内均匀选择(大致)的 double 值。 Random 类按如下方式实现 nextDouble 方法: public double nextDouble() { return (((long)next(26) << 27) + next(27)) / (double)(1L << 53); }前面的描述中使用了不确定的词“大致”,因为 next 方法只是一个大致上独立选择位的无偏源。如果它是一个随机选择位的最佳源,那么给出的算法应该从规定范围完全一致地选择 double 值。 [在 Java 的早期版本中,结果被错误地计算为: return (((long)next(27) << 27) + next(27)) / (double)(1L << 54);这可能看似等效(如果不是更好的话),但实际上由于浮点数舍入中的偏差,它会引入较大的不均匀性:有效数的低位出现 0 的可能性是 1 的三倍!这种不均匀性在实践中可能没什么关系,但我们总是力求完美。] 返回:下一个伪随机数,它是此随机数生成器序列中 0.0 和 1.0 之间均匀分布的 double 值另请参见:Math.random() [code=Jav] msyh.setCurrent(Math.round((msyh.getCurrent() + mh) * 100) / 100.0); pfyh.setCurrent(Math.round((pfyh.getCurrent() + pf) * 100) / 100.0); zgsy.setCurrent(Math.round((zgsy.getCurrent() + zg) * 100) / 100.0); zgzy.setCurrent(Math.round((zgzy.getCurrent() + zz) * 100) / 100.0);[/code]你这几句不又重新随机了么 没有重复随机啊,mh,pf,zg,zz都是随机算出来的 探讨一个算法.比较复杂.涉及到设计模式的.有兴趣可以进来看下. 寻求 java 通过 DataSource 连接数据库的代码 谢谢 ! JDBC 文件遍历 需要JIVE 2.5以上的源码 菜鸟的问题! 有关执行存储过程返回值的问题 请问Tomcat如何配置啊,在线等待 请问用什么方法可以在JAVA中创建ACCESS7.0或2000数据库? 猜拳游戏 数据流接收、发送问题! 无法安装xmind
nextDouble 的常规协定是,伪随机地生成并返回一个从 0.0d(包括)到 1.0d(不包括)范围内均匀选择(大致)的 double 值。 Random 类按如下方式实现 nextDouble 方法: public double nextDouble() {
return (((long)next(26) << 27) + next(27))
/ (double)(1L << 53);
}前面的描述中使用了不确定的词“大致”,因为 next 方法只是一个大致上独立选择位的无偏源。如果它是一个随机选择位的最佳源,那么给出的算法应该从规定范围完全一致地选择 double 值。 [在 Java 的早期版本中,结果被错误地计算为: return (((long)next(27) << 27) + next(27))
/ (double)(1L << 54);这可能看似等效(如果不是更好的话),但实际上由于浮点数舍入中的偏差,它会引入较大的不均匀性:有效数的低位出现 0 的可能性是 1 的三倍!这种不均匀性在实践中可能没什么关系,但我们总是力求完美。] 返回:
下一个伪随机数,它是此随机数生成器序列中 0.0 和 1.0 之间均匀分布的 double 值
另请参见:
Math.random()
nextDouble 的常规协定是,伪随机地生成并返回一个从 0.0d(包括)到 1.0d(不包括)范围内均匀选择(大致)的 double 值。 Random 类按如下方式实现 nextDouble 方法: public double nextDouble() {
return (((long)next(26) << 27) + next(27))
/ (double)(1L << 53);
}前面的描述中使用了不确定的词“大致”,因为 next 方法只是一个大致上独立选择位的无偏源。如果它是一个随机选择位的最佳源,那么给出的算法应该从规定范围完全一致地选择 double 值。 [在 Java 的早期版本中,结果被错误地计算为: return (((long)next(27) << 27) + next(27))
/ (double)(1L << 54);这可能看似等效(如果不是更好的话),但实际上由于浮点数舍入中的偏差,它会引入较大的不均匀性:有效数的低位出现 0 的可能性是 1 的三倍!这种不均匀性在实践中可能没什么关系,但我们总是力求完美。] 返回:
下一个伪随机数,它是此随机数生成器序列中 0.0 和 1.0 之间均匀分布的 double 值
另请参见:
Math.random()
msyh.setCurrent(Math.round((msyh.getCurrent() + mh) * 100) / 100.0);
pfyh.setCurrent(Math.round((pfyh.getCurrent() + pf) * 100) / 100.0);
zgsy.setCurrent(Math.round((zgsy.getCurrent() + zg) * 100) / 100.0);
zgzy.setCurrent(Math.round((zgzy.getCurrent() + zz) * 100) / 100.0);[/code]你这几句不又重新随机了么