fbardi
#1
estou precisando saber qual a próxima letra do alfabeto para colocar em uma lista…
algo como da pra fazer com int usando o ++…
int teste1 = 1;
int teste2 = teste1 ++;
//o resultado seria teste2 = 2
quero fazer isso com letras tbm… tipo…
String teste1 = "A";
String teste2 = teste1++;
//o resultado seria teste2 = B
sei que não tem como incrementar uma String usando ++… quero saber se alguém tem já fez alguma solução para algo parecido!!!
valeu!!!
char c = 'a';
System.out.println(c++); // saída -> b
Da uma olhada nesse meu topico.
http://www.guj.com.br/posts/list/76356.java
Começei com a mesma duvida e criei uma classe para a solução, voce pode copiar a do utimo post.
E a mesma classe esta disponivel no jar do MarkUtils que acredito estar mais atualizada que essa antiga.
fbardi
#4
não sei se é a melhor forma de ser feito… mas assim funcionou para oq eu estava precisando!!!.. valeu para os amigos que postaram ajuda!!!
private String proximaLetra(Collection listaModulos)
{
String retorno = null;
String ultimaLetra = null;
ModuloFormulaVo moduloFormulaVo;
if(listaModulos.size() != 0)
{
Iterator itLista = listaModulos.iterator();
while(itLista.hasNext())
{
moduloFormulaVo = (ModuloFormulaVo) itLista.next();
ultimaLetra = moduloFormulaVo.getNomeModulo();
}
Map<String, Integer> mapLetraNumr = new HashMap<String, Integer>();
Map<Integer, String> mapNumrLetra = new HashMap<Integer, String>();
String alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for(int i = 0; i < alfabeto.length(); i++ )
{
mapLetraNumr.put(alfabeto.substring(i, (i+1)), (i+1));
}
int cont = 0;
for(int i = alfabeto.length(); i > 0; i-- )
{
mapNumrLetra.put((cont+1), alfabeto.substring(cont,(cont+1)));
cont++;
}
int ultimoNumr = mapLetraNumr.get(ultimaLetra);
retorno = mapNumrLetra.get(ultimoNumr + 1);
}
else
{
retorno = "A";
}
return retorno;
}