Code:
public static String GetRandom() {
Random r = new Random();
StringBuffer buffer = new StringBuffer();
// first upper case
char first = (char)('A' + r.nextInt('Z' - 'A'));
buffer.append(first);
// 11 random chars
for (int i = 0; i < 11; i++) {
buffer.append((char)('!' + r.nextInt('~' - '!')));
/*if (r.nextBoolean()) {
buffer.append((char)('a' + r.nextInt('z'-'a')));
}
else {
buffer.append((char)('A' + r.nextInt('Z'-'A')));
}*/
}
// last digit
buffer.append((char)('1' + r.nextInt('6' - '1')));
return buffer.toString();
}
Otkucah ti ovo na brzinu. Ovo ti daje string od 13 karaktera sa prvim velikim slovom i poslednjom cifrom između 1 i 5 (inclusive). Karakteri između mogu biti bilo koji vidljivi karakteri iz ascii tabele. Ako ti trebaju samo slova skloni prvu liniju u for petlji i otkometariši ostatak petlje.
Ovaj kod generiše ovakve stringove:
Code:
IE.1kinAnqmX1
CPI<gi8X&LR"2
PShz0ns&(rIQ2
A'=$w^Q^Hnu%1
AX@zlm5k7Ga25
N3Q%6GX0yo^e5
Wg+(#(_"?.n;4
Lj>tTE&@3r@82
WghU9N;dhwyU3
E[(v\OXpv`D03
Ako zameniš kod sa onim zakomentarisanim u for petlji dobićeš ovakve stringove:
Code:
TYGDKlQoBNVf4
MSfQSptpbHmg3
YQggUIcLHmKI3
CfBvMakGEEXx4
PctECwaXGDsl1
JAVYEiombVVN1
VjRghYRnGiUQ3
FuFnyjjpKGnR4
KOYiCSyYxoOt5
FXKVAQbuYHlf3