Java如何得到一个18位的随机数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java如何得到一个18位的随机数?相关的知识,希望对你有一定的参考价值。

如题~~

既然你能接受18为的数,那你可以用Math.random()*1000000000000000000得到。
如果说Math.random()不能精确到18位的话,当然我懒得去看,你自己试试到底能精确几位,比如只能精确到6位,那么如果随机数乘以1亿,得到的是前六位是随机的,你可以再做一个剩余几位的随机数加到前面那个随机数里面进去,这样得到的应该是个1亿内的随机数。
那你可以这么做,
Math.random*10000000000000000000+Math.random()*1000000000000+Math.random()*10000000;同理,其他任意位的数字可以得到。
参考技术A /**
* 思路是循环随机数,然后拼接
*/
import java.math.BigInteger;
import java.util.Random;

public class MyTest2
public static void main(String[] a)
String s = "";
Random random = new Random();
s+=random.nextInt(9)+1;
for (int i = 0; i < 18-1; i++)
s+=random.nextInt(10);

BigInteger bigInteger=new BigInteger(s);
System.out.println(bigInteger);

js如何产生一个100以内的随机数,如果产生的数小于10则重新产生,直到得到符合条件的数

参考技术A <html >

<head>
<title></title>

<script type="text/javascript">
function bb()
var ccc=parseInt(100*Math.random());
alert(ccc);
for(i=10;i>ccc;ccc=parseInt(100*Math.random()))
alert(ccc);
document.getElementById("eeee").value=ccc;
alert(ccc);

</script>
</head>

<body>

<tr><td><input type="text" name="eeee" onBlur="bb()"/></td></tr>

</table>

</form>
</body>

</html>

你修改下就ok了
参考技术B <script>
var a = 0;
do
a = Math.floor(Math.random()*101);
while(a<10)
document.write(a);
</script>
参考技术C var r=[];//结果
for(var i=0;i<100;i++)
r[i]=10+parseInt(Math.random()*90);
本回答被提问者采纳

以上是关于Java如何得到一个18位的随机数?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 boost 生成不同位的随机多精度整数?

用java实现:随机获取4位的验证码

使用JAVA如何去生成大量16位的并且是顺序递增的数字串?

JAVA如何固定随机数数位

MySQL生成随机字符串的三种方法

如何创建 5 位数字和章程组合的随机数