java中如何产生一个16位数字组成的随机字符串?谢谢各位了

 我来答
crystalstar0
高粉答主

2018-04-08 · 说的都是干货,快来关注
知道小有建树答主
回答量:190
采纳率:98%
帮助的人:5.9万
展开全部

方法如下:

Random ran=new random();

boolean flag=true;

while(flag){ 

int a=ran.nextInt(99999999); 

int b=ran.nextInt(99999999);

long c=a*100000000L+b; 

if(c>1000000000000000L&&c<9999999999999999L){

flag=false;
c1=c;
String num=String.valueOf(c1); 

Java生成随机字符串的两种方式:

1、生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random;

//length用户要求产生字符串的长度。

public static String getRandomString(int length){

String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

Random random=new Random();

StringBuffer sb=new StringBuffer();

for(int i=0;i<length;i++){

int number=random.nextInt(62);

sb.append(str.charAt(number));

}

return sb.toString();

}

2、可以指定某个位置是a-z、A-Z或是0-9,需要导入的包是import java.util.Random;

//可以指定字符串的某个位置是什么范围的值。

public static String getRandomString2(int length){

Random random=new Random();

StringBuffer sb=new StringBuffer();

for(int i=0;i<length;i++){

int number=random.nextInt(3);

long result=0;

switch(number){

case 0:

result=Math.round(Math.random()*25+65);

sb.append(String.valueOf((char)result));

break;

case 1:

result=Math.round(Math.random()*25+97);

sb.append(String.valueOf((char)result));

break;

case 2:    

sb.append(String.valueOf(new Random().nextInt(10)));

break;

}

}

return sb.toString();

}

潜藏的卑微
推荐于2017-12-16 · TA获得超过246个赞
知道小有建树答主
回答量:335
采纳率:53%
帮助的人:186万
展开全部
Random ran=new random();
int a=ran.nextInt(99999999);
int b=ran.nextInt(99999999);
long l=a*10000000L+b;
String num=String.valueOf(l);
这个num就是16位数字的随机字符串
random是jre自带的的方法,直接ctrl+alt+o导入就可以了
更多追问追答
追问
为什么运行总说找不到Random类,是要导入什么包吗?
谢谢了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青鸟中关村专家
2016-11-26 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部
Random r = new Random();
string str = r.Next(10000000,99999999).ToString() + r.Next(10000000,99999999).ToString();
追问
Random这个类需要导入什么包吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2016-11-26
知道答主
回答量:21
采纳率:0%
帮助的人:2.5万
展开全部
import java.util.Random;
public class Test {
public static StringBuilder random16() {
StringBuilder s = new StringBuilder();
Random random = new Random();
Integer ints;
for (int i = 0; i < 4 ; i++) {
ints = (random.nextInt(10000)+100000)%10000;
// System.out.println(ints.toString());
s.append(ints.toString());
}
return s;
}
public static void main(String[] args) {
System.out.println(random16());
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式