Reputation: 4182
I want to generate the random number like that
ADF1845CFT
ADF1864ATY
ADF18AT65Y
Note: There I FIX the ADF18 I want only take the next 5 digit with number and charter
I am successfully create the 5 digit with number
There is Various solution I am using
etc. method
With these method I am create successful random 5 digit numbers.
Any Help Appreciate....
Upvotes: 4
Views: 3716
Reputation: 989
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());
}
}
Upvotes: 2
Reputation: 544
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());
Upvotes: 2
Reputation: 27496
You can use apache commons-lang RandomStringUtils.randomAlphanumberic
:
"ADF18" + RandomStringUtils.randomAlphanumberic(5);
Upvotes: 2
Reputation: 48287
you can use random UUIDs...
final String randomCode = UUID.randomUUID().toString();
// or you can play with the len...
final String randomCode2 = UUID.randomUUID().toString().substring(0, 5);
Upvotes: 8