如何创建 5 位数字和章程组合的随机数

Posted

技术标签:

【中文标题】如何创建 5 位数字和章程组合的随机数【英文标题】:How to create Random number with 5 digit combined of number and charter 【发布时间】:2016-11-15 14:31:12 【问题描述】:

我想生成这样的随机数

ADF1845CFT

ADF1864ATY

ADF18AT65Y

注意:我修复了 ADF18 我只想取下一个 5 位的数字和章程

我成功创建了带有数字的 5 位数字

我正在使用各种解决方案

How to make combined random number matrix

Java random number with given length

等等。方法

通过这些方法,我创建了成功的随机 5 位数字。

任何帮助感谢......

【问题讨论】:

How to generate a random alpha-numeric string?的可能重复 【参考方案1】:

你可以使用随机的 UUID...

示例:

final String randomCode = UUID.randomUUID().toString();
// or you can play with the len...
final String randomCode2 = UUID.randomUUID().toString().substring(0, 5);

【讨论】:

【参考方案2】:

你可以使用 apache commons-lang RandomStringUtils.randomAlphanumberic:

"ADF18" + RandomStringUtils.randomAlphanumberic(5);

【讨论】:

【参考方案3】:
   String random5Digts = UUID.randomUUID().toString().substring(0, 5);
   String randomNumber="ADF18"+random5Digts;
   //code to change lower letters to uppercase
   StringBuilder sb = new StringBuilder(randomNumber);
   for (int index = 0; index < sb.length(); index++) 
       char c = sb.charAt(index);
       if (Character.isLowerCase(c)) 
           sb.setCharAt(index, Character.toUpperCase(c));
       
   
   System.out.println(sb.toString());

【讨论】:

【参考方案4】:
import java.util.Random;

public class MyStringRandomGen 

private static final String CHAR_LIST =
    "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
private static final int RANDOM_STRING_LENGTH = 5;// change the number as u want.

/**
 * This method generates random string
 * @return
 */
public String generateRandomString()

    StringBuffer randStr = new StringBuffer();
    for(int i=0; i<RANDOM_STRING_LENGTH; i++)
        int number = getRandomNumber();
        char ch = CHAR_LIST.charAt(number);
        randStr.append(ch);
    
    return randStr.toString();


/**
 * This method generates random numbers
 * @return int
 */
private int getRandomNumber() 
    int randomInt = 0;
    Random randomGenerator = new Random();
    randomInt = randomGenerator.nextInt(CHAR_LIST.length());
    if (randomInt - 1 == -1) 
        return randomInt;
     else 
        return randomInt - 1;
    


public static void main(String a[])
    MyStringRandomGen msr = new MyStringRandomGen();
    System.out.println(msr.generateRandomString());
    System.out.println(msr.generateRandomString());
    System.out.println(msr.generateRandomString());
    System.out.println(msr.generateRandomString());
    System.out.println(msr.generateRandomString());
    System.out.println(msr.generateRandomString());
    System.out.println(msr.generateRandomString());


【讨论】:

以上是关于如何创建 5 位数字和章程组合的随机数的主要内容,如果未能解决你的问题,请参考以下文章

js产生一个随机的字符串数字组合

如何生成随机的五位数字Java [重复]

在excel中怎样生成随机的4位字母数字组合,谢谢

java生成N位随机数(字母+数字)组合

用Python或者Java如何生成多位数字不重复的数

RandomStringUtils工具类