【发布时间】:2016-11-15 14:31:12
【问题描述】:
我想生成这样的随机数
ADF1845CFT
ADF1864ATY
ADF18AT65Y
注意:我修复了 ADF18 我只想取下一个 5 位的数字和章程
我成功创建了带有数字的 5 位数字
我正在使用各种解决方案
等等。方法
通过这些方法,我创建了成功的随机 5 位数字。
任何帮助感谢......
【问题讨论】:
我想生成这样的随机数
ADF1845CFT
ADF1864ATY
ADF18AT65Y
注意:我修复了 ADF18 我只想取下一个 5 位的数字和章程
我成功创建了带有数字的 5 位数字
我正在使用各种解决方案
等等。方法
通过这些方法,我创建了成功的随机 5 位数字。
任何帮助感谢......
【问题讨论】:
你可以使用随机的 UUID...
final String randomCode = UUID.randomUUID().toString();
// or you can play with the len...
final String randomCode2 = UUID.randomUUID().toString().substring(0, 5);
【讨论】:
你可以使用 apache commons-lang RandomStringUtils.randomAlphanumberic:
"ADF18" + RandomStringUtils.randomAlphanumberic(5);
【讨论】:
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());
【讨论】:
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());
}
}
【讨论】: