Estou tentando percorrer uma String que possui elementos separados por vírgula (exemplo: 10,11,10,05,34,23,21,11) e, criar uma nova String sem as repetições com apenas uma ocorrência de cada número.
Tentei fazer através do código mas não estou percorrendo a lista toda. Antes estava recebendo um indexoutofboundsexception… depois alterei e agora não percorre a string toda.
Você pode usar o método charAt da classe String pra pegar caractere por caractere, por exemplo:
String str = new String("Java");
for(int i = 0; i < str.length(); i++)
System.out.println(str.charAt(i));
Qualquer dúvida poste aqui de novo…T+
M
Maria_Lucia
Estou usando java 1.3… o split não existe nesta versão…
Calvin
Você não acha que ta na hora de dar uma atualizada?! pelo menos para a versão 1.4!
davidbuzatto
importjava.util.*;publicStringlimparRepeticoes(Stringcategorias){StringBuffersb=newStringBuffer();ArrayListlista=newArrayList();StringTokenizerst=newStringTokenizer(categorias,",");Stringtoken="";while(st.hasMoreTokens()){token=st.nextToken();if(!lista.contains(token))lista.add(token);}// reconstrói a stringfor(inti=0;i<lista.size()-1;i++){sb.append((String)lista.get(i)+",");}sb.append((String)lista.get(lista.size()-1));returnsb.toString();}
Dá para melhorar, usar um hashset etc etc etc.
Até mais!
M
Maria_Lucia
Valeu pessoal!
Me ajudaram bastante… acabei aplicando a sugestão do davidbuzatto.