中易网

在JAVA里怎么获得9~11位的随机数

答案:3  悬赏:70  
解决时间 2021-01-13 00:32
  • 提问者网友:暮烟疏雨之际
  • 2021-01-12 13:09
在JAVA里怎么获得9~11位的随机数
最佳答案
  • 二级知识专家网友:痴妹与他
  • 2021-01-12 14:24
获取随机数的方法,参数是需要获取的随机数的长度

private static void getRadom(int length){
//获取一个随机数
double rand = Math.random();
//将随机数转换为字符串
String str = String.valueOf(rand).replace("0.", "");
//截取字符串
String newStr = str.substring(0, length);
System.out.println(newStr);
}
其实就是利用Math.random()方法生成一个随机的double数,然后转换为字符串,在字符串中去做操作
全部回答
  • 1楼网友:山有枢
  • 2021-01-12 16:25
java.security.SecureRandom sr=new java.security.SecureRandom();
long rnd;
do{
rnd=sr.nextLong();
}
while(rnd>1e13 || rnd<1e9);
System.out.println(rnd);
  • 2楼网友:躲不过心动
  • 2021-01-12 15:06
Random rand = new Random();
long l = 0;
//100000000000-->11个0
//100000000-->8个0
double n = 100000000000D - 100000000D;
for (int i = 0; i < 10; i++) {
l = (long)(rand.nextDouble() * n + 100000000D);
System.out.println(l);
}追问哇,你这样做真的可以耶,我本来也想到了的,但是我为了省代码就写成了:
Random rand = new Random();
long l = 0;
for (int i = 0; i < 10; i++) {
l = (long)(rand.nextDouble() * 99000000000L + 100000000);
System.out.println(l);
}
这样,为什么其结果就是错误的呢?追答奇怪我把你代码复制过来没错啊追问呵呵,是我搞错了,谢谢你
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息