Fazendo troca de letras numa string

9 respostas
C

Precisa fazer isto:

String 1 : aaaabaaaa

e quero achar o ‘b’ e fazer por exemplo a troca

baaaaaaaa (trocou o b com o a da ponta)

eu sei que o String.indexOf(‘b’), acha a posição da string, agora como faço para fazer a troca (dando a posição)

9 Respostas

D

voce pode usar os metodos replace() e charAt() da String.
o replace faz a troca de caracteres e o charAt é a localização do caracter na String

Flw!

C

“DanielBadawi”:
voce pode usar os metodos replace() e charAt() da String.
o replace faz a troca de caracteres e o charAt é a localização do caracter na String

Flw!

A ideia é esta:

temp = (String.valueOf(estado)).charAt(posvazio-3); estado.setCharAt(posvazio-3,'0'); estado.setCharAt(posvazio, temp); posvazio = posvazio-3;

Mas o Java não reconhece o setCharAt.PQ ?

D

o método setCharAt() faz parte da classe StringBuffer

entao essa variável estado teria q ser do tipo StringBuffer

ACHO q pode ser isso…

qualquer coisa, tamo ae! :sentido:

Flw!

F

tenta isso:

public String muda(String str, char c){
 int x = str.indexOf(c + "");
 String y = "";
 if (x == -1) return str;
 y = str.charAt(x);
 for (int i = 0; i < str.length; i++){
  if (i == x) continue;
  y += str.charAt(i);
 }
 return y;
}
C

Estou usando o Stringbuffer, realmente resolveu neste caso o problema, mas porem não estou achando nada que faça a vez do

String.indexOf(‘b’),

Qual outro que pode me dar a posição de um string com o stringbuffer ?

D

qual é o erro q ta dando no indexOf()??

posta o código e os erros q ajuda basante! :smiley:

flw!

C

AGRADEÇO, MAS JÁ RESOLVI…HEHE…

MUITO OBRIGADO PELA ATENÇÃO.

D

posta o código ae!
fiquei curioso pelo algoritmo!
:smiley: :smiley:

C
"DanielBadawi":
posta o código ae! fiquei curioso pelo algoritmo! :D :D
Ok
Buffer.append(Matriz);
     int local=0,posicao=0;
     char temp;
     local=Buffer.indexOf("0");
     if(local==3 ||local==4||local==5||local==6||local==7||local==8){
     posicao=local+3;
     temp = (String.valueOf(Buffer)).charAt(posicao);
     Buffer.setCharAt(posicao,'0');
     Buffer.setCharAt(local, temp);

     arvore.add(Buffer);
      nos++;

     return true;
     }
     else
     {
       return false;
     }
Criado 11 de maio de 2004
Ultima resposta 11 de mai. de 2004
Respostas 9
Participantes 3