代码一:使用了正则表达式
public StringgetRandomNum(int num) {
StringBuilder str =new StringBuilder();
Random rdm =new Random();
for (int i =0; i < num; i++) {
int index = rdm.nextInt(10);
str.append(index);
}
if (Pattern.matches("([0-9a-zA-Z])\\1{5}", str.toString())) {
getRandomNum(num);
}
return str.toString();
}
方法二 ,纯代码判断业务
public static StringgetRandomNums(int num) {
Random random =new Random();
int last = -1;
int sameNumber =1;
int count =0;
StringBuilder sb =new StringBuilder();
while (count < num) {
int randomInt = random.nextInt(10);
if (randomInt == last) {
if (sameNumber ==2) {
continue;
}
sameNumber++;
}else {
sameNumber =1;
}
sb.append(randomInt);
last = randomInt;
count++;
}
return sb.toString();
}
小弟不才 仅供参考
如有侵权,请告知立即删除











网友评论