方法如下:
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();
}
为什么运行总说找不到Random类,是要导入什么包吗?
谢谢了
追答ctrl shift o说错了,是这个快捷键
ctrl shift o说错了,是这个快捷键
追问?什么意思
追答我ctrl+shift+o就可以导入random包了,如果可以运行就采纳吧
追问你把你代码发上来看下,或者直接在你的main方法上加一行 import java.util.Random,如果你还是报错,那就是你没有装jdk或者没有配置环境变量了
追问好了。。
但是只有15位随机数。。。
谢谢了,我一定会给你采纳的如果解决了问题
追答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);
}
}
上午没时间测试,中午再重新看了下,这个num每次生成的都是16位了
谢谢,你基本解决了我的问题。
本回答被提问者采纳Random这个类需要导入什么包吗