Generating 10 digits unique random number in java

前端 未结 9 629
执念已碎
执念已碎 2020-12-09 10:52

I am trying with below code to generate 10 digits unique random number. As per my req i have to create around 5000 unique numbers(ids). This is not working as expected. It a

9条回答
  •  忘掉有多难
    2020-12-09 11:28

    This is a utility method for generating a fixed length random number.

        public final static String createRandomNumber(long len) {
        if (len > 18)
            throw new IllegalStateException("To many digits");
        long tLen = (long) Math.pow(10, len - 1) * 9;
    
        long number = (long) (Math.random() * tLen) + (long) Math.pow(10, len - 1) * 1;
    
        String tVal = number + "";
        if (tVal.length() != len) {
            throw new IllegalStateException("The random number '" + tVal + "' is not '" + len + "' digits");
        }
        return tVal;
    }
    

提交回复
热议问题