java生成6位随机数并且不能是靓号/豹子号的源代码

2020-07-08  本文已影响0人  IT男的假智慧

代码一:使用了正则表达式

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();

}

小弟不才   仅供参考

                                                                                                                如有侵权,请告知立即删除

上一篇 下一篇

猜你喜欢

热点阅读