Olá pessoal,
como saber quantas combinações possíveis existem no intervalo de strings do tipo “AA0001” à “ZZ9999”, onde os dois primeiros caracteres são letras e os quatro ultimos são números?
to meio encucado com isso, só acho solução POG… :?
se tiver uma solução massa aih, diz aih como fazer…
será que existe alguma api que auxilie nisso?
Vlw!
[code]
long comb = 1;
String s = “AA0001”;
char[] c = s.toCharArray();
for ( int i = 0; i < c.length; i++ ) {
if ( Character.isLetter( c[ i ] ) ) // se for letra
comb *= 26; // 26 letras
else if ( Character.isDigit( c[ i ] ) ) // se for dígito
comb * 10; // 10 dígitos
}
comb -= 1; // vc comecou do AA0001 e não do AA0000[/code]
Acho que é isso!
Falow!
Na real, vc fez apenas uma analise combinatoria das strings.
E se eu dissesse que o a string 1 e a string 2 fossem dinamicas?
Exemplo: O intervalo entre “AA9999” e “AB0000” é igual a 1.
Mas tenta fazer isso com “AB1234” à “CD4567”… :roll:
Galera, axu q consegui…
String s1 = "AA9999";
String s2 = "AB0001";
//diferenca das letras
long temp = Long.parseLong(s2.substring(0, 2), 36) - Long.parseLong(s1.substring(0, 2), 36);
//relevancia das letras
temp*=10000;
//diferenca dos numeros
temp = (Long.parseLong(s2.substring(2))+temp) - Long.parseLong(s1.substring(2));
System.out.println(temp);
Realmente errei, mas acho que fui induzido ao erro não acha?