⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 random.html

📁 API資料大全
💻 HTML
📖 第 1 页 / 共 3 页
字号:
 value from this random number generator's sequence. The general  contract of <tt>nextLong</tt> is that one long value is pseudorandomly  generated and returned. All 2<font size="-1"><sup>64</sup></font>  possible <tt>long</tt> values are produced with (approximately) equal  probability. The method <tt>nextLong</tt> is implemented by class  <tt>Random</tt> as follows: <blockquote><pre> public long nextLong() {       return ((long)next(32) << 32) + next(32); }</pre></blockquote><DD><DL></DL></DD><DD><DL><DT><B>Returns:</B><DD>the next pseudorandom, uniformly distributed <code>long</code>          value from this random number generator's sequence.</DL></DD></DL><HR><A NAME="nextBoolean()"><!-- --></A><H3>nextBoolean</H3><PRE>public boolean <B>nextBoolean</B>()</PRE><DL><DD>Returns the next pseudorandom, uniformly distributed <code>boolean</code> value from this random number generator's sequence. The general contract of <tt>nextBoolean</tt> is that one <tt>boolean</tt> value is pseudorandomly generated and returned.  The values <code>true</code> and <code>false</code> are produced with (approximately) equal probability. The method <tt>nextBoolean</tt> is implemented by class <tt>Random</tt> as follows: <blockquote><pre> public boolean nextBoolean() {return next(1) != 0;} </pre></blockquote><DD><DL></DL></DD><DD><DL><DT><B>Returns:</B><DD>the next pseudorandom, uniformly distributed          <code>boolean</code> value from this random number generator's		sequence.<DT><B>Since: </B><DD>1.2</DD></DL></DD></DL><HR><A NAME="nextFloat()"><!-- --></A><H3>nextFloat</H3><PRE>public float <B>nextFloat</B>()</PRE><DL><DD>Returns the next pseudorandom, uniformly distributed <code>float</code> value between <code>0.0</code> and <code>1.0</code> from this random number generator's sequence. <p> The general contract of <tt>nextFloat</tt> is that one <tt>float</tt>  value, chosen (approximately) uniformly from the range <tt>0.0f</tt>  (inclusive) to <tt>1.0f</tt> (exclusive), is pseudorandomly generated and returned. All 2<font size="-1"><sup>24</sup></font>  possible <tt>float</tt> values of the form  <i>m&nbsp;x&nbsp</i>2<font size="-1"><sup>-24</sup></font>, where  <i>m</i> is a positive integer less than 2<font size="-1"><sup>24</sup> </font>, are produced with (approximately) equal probability. The  method <tt>nextFloat</tt> is implemented by class <tt>Random</tt> as  follows: <blockquote><pre> public float nextFloat() {      return next(24) / ((float)(1 << 24)); }</pre></blockquote> The hedge "approximately" is used in the foregoing description only  because the next method is only approximately an unbiased source of  independently chosen bits. If it were a perfect source or randomly  chosen bits, then the algorithm shown would choose <tt>float</tt>  values from the stated range with perfect uniformity.<p> [In early versions of Java, the result was incorrectly calculated as: <blockquote><pre> return next(30) / ((float)(1 << 30));</pre></blockquote> This might seem to be equivalent, if not better, but in fact it  introduced a slight nonuniformity because of the bias in the rounding  of floating-point numbers: it was slightly more likely that the  low-order bit of the significand would be 0 than that it would be 1.]<DD><DL></DL></DD><DD><DL><DT><B>Returns:</B><DD>the next pseudorandom, uniformly distributed <code>float</code>          value between <code>0.0</code> and <code>1.0</code> from this          random number generator's sequence.</DL></DD></DL><HR><A NAME="nextDouble()"><!-- --></A><H3>nextDouble</H3><PRE>public double <B>nextDouble</B>()</PRE><DL><DD>Returns the next pseudorandom, uniformly distributed  <code>double</code> value between <code>0.0</code> and <code>1.0</code> from this random number generator's sequence. <p> The general contract of <tt>nextDouble</tt> is that one  <tt>double</tt> value, chosen (approximately) uniformly from the  range <tt>0.0d</tt> (inclusive) to <tt>1.0d</tt> (exclusive), is  pseudorandomly generated and returned. All  2<font size="-1"><sup>53</sup></font> possible <tt>float</tt>  values of the form <i>m&nbsp;x&nbsp;</i>2<font size="-1"><sup>-53</sup> </font>, where <i>m</i> is a positive integer less than  2<font size="-1"><sup>53</sup></font>, are produced with  (approximately) equal probability. The method <tt>nextDouble</tt> is  implemented by class <tt>Random</tt> as follows: <blockquote><pre> public double nextDouble() {       return (((long)next(26) << 27) + next(27))           / (double)(1L << 53); }</pre></blockquote><p> The hedge "approximately" is used in the foregoing description only  because the <tt>next</tt> method is only approximately an unbiased  source of independently chosen bits. If it were a perfect source or  randomly chosen bits, then the algorithm shown would choose  <tt>double</tt> values from the stated range with perfect uniformity.  <p>[In early versions of Java, the result was incorrectly calculated as: <blockquote><pre>  return (((long)next(27) << 27) + next(27))      / (double)(1L << 54);</pre></blockquote> This might seem to be equivalent, if not better, but in fact it  introduced a large nonuniformity because of the bias in the rounding  of floating-point numbers: it was three times as likely that the  low-order bit of the significand would be 0 than that it would be 1! This nonuniformity probably doesn't matter much in practice, but  we strive for perfection.]<DD><DL></DL></DD><DD><DL><DT><B>Returns:</B><DD>the next pseudorandom, uniformly distributed           <code>double</code> value between <code>0.0</code> and          <code>1.0</code> from this random number generator's sequence.</DL></DD></DL><HR><A NAME="nextGaussian()"><!-- --></A><H3>nextGaussian</H3><PRE>public double <B>nextGaussian</B>()</PRE><DL><DD>Returns the next pseudorandom, Gaussian ("normally") distributed <code>double</code> value with mean <code>0.0</code> and standard deviation <code>1.0</code> from this random number generator's sequence. <p> The general contract of <tt>nextGaussian</tt> is that one  <tt>double</tt> value, chosen from (approximately) the usual  normal distribution with mean <tt>0.0</tt> and standard deviation  <tt>1.0</tt>, is pseudorandomly generated and returned. The method  <tt>nextGaussian</tt> is implemented by class <tt>Random</tt> as follows: <blockquote><pre> synchronized public double nextGaussian() {    if (haveNextNextGaussian) {            haveNextNextGaussian = false;            return nextNextGaussian;    } else {            double v1, v2, s;            do {                     v1 = 2 * nextDouble() - 1;   // between -1.0 and 1.0                    v2 = 2 * nextDouble() - 1;   // between -1.0 and 1.0                    s = v1 * v1 + v2 * v2;            } while (s >= 1 || s == 0);            double multiplier = Math.sqrt(-2 * Math.log(s)/s);            nextNextGaussian = v2 * multiplier;            haveNextNextGaussian = true;            return v1 * multiplier;    } }</pre></blockquote> This uses the <i>polar method</i> of G. E. P. Box, M. E. Muller, and  G. Marsaglia, as described by Donald E. Knuth in <i>The Art of  Computer Programming</i>, Volume 2: <i>Seminumerical Algorithms</i>,  section 3.4.1, subsection C, algorithm P. Note that it generates two independent values at the cost of only one call to <tt>Math.log</tt>  and one call to <tt>Math.sqrt</tt>.<DD><DL></DL></DD><DD><DL><DT><B>Returns:</B><DD>the next pseudorandom, Gaussian ("normally") distributed          <code>double</code> value with mean <code>0.0</code> and          standard deviation <code>1.0</code> from this random number          generator's sequence.</DL></DD></DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ========== START OF NAVBAR ========== --><A NAME="navbar_bottom"><!-- --></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_bottom_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">  <TR ALIGN="center" VALIGN="top">  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Random.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>  </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Java<sup><font size=-2>TM</font></sup>&nbsp;2&nbsp;Platform<br>Std.&nbsp;Ed. v1.3</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="../../java/util/PropertyResourceBundle.html"><B>PREV CLASS</B></A>&nbsp;&nbsp;<A HREF="../../java/util/ResourceBundle.html"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;&nbsp;<A HREF="Random.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><!-- =========== END OF NAVBAR =========== --><HR><font size="-1"><a href="http://java.sun.com/cgi-bin/bugreport.cgi">Submit a bug or feature</a><br>For further API reference and developer documentation, see <a href="http://java.sun.com/products/jdk/1.3/devdocs-vs-specs.html">Java 2 SDK SE Developer Documentation</a>. That documentation  contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples. <p>Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.<br>Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road<br>Palo Alto, California, 94303, U.S.A.  All Rights Reserved.</font></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -