java中如何产生一个16位数字组成的随机字符串?谢谢各位了
方法如下:
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();
}
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 · 知道合伙人软件行家
string str = r.Next(10000000,99999999).ToString() + r.Next(10000000,99999999).ToString();
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());
}
}