E ai Galera,
Bem eu tenho uma string e a converti para um array de char, só q eu gostaria de comparar se o meu (array[i] == ’ '),saber a posição na qual se encontra os espaços em branco.
, e depois setar um valor nessa posição.
A comparação da forma q esta sendo feita esta correta? Existe outra maneira para faze-la?
Quando eu executo o meu programa não da erro na compilação apenas na execução, dando essa mensagem:
java.lang.ArrayIndexOutOfBoundsException
Se alguem puder me ajudar agradeço desde já.
[color=“darkblue”]Olá!
Cara, se vc quer apenas sustituir os espaços por outro caracter vc pode usar a função replace() ao invés de ir lendo caracter à caracter…
a sinstaxe dela é a seguinte:
String replace (char oldChar, char newChar);
Ela retorna a nova string sem os caracteres que vc quer!!!
Agora se vc quer continuar usando vetor vc pode usar o seguinte código:
for (i=0; i != '\0'; i++)
{
if (vetor[i] == ' ')
vetor[i] = '_';
}
Espero ter ajudado!!!
[]'s[/color]
Na verdade preciso retirar o espaço em branco, por isso não utilizo o replace.
Da String convertida em um array de char estou correndo o array e procurando o espaço em branco.
quando acho estou fazendo isso:
for(int i=0; j>=i; i++){
if(array[i] == ' ' ){
for(int c=i; c<=j; c++){
array[c]=array[c+1];
}
}
}
Já que preciso trocar pelo proximo, senão ele repete. Mas quando coloco o array[c]=array[c+1], ele me tras um erro: java.lang.ArrayIndexOutOfBoundsException
que esta ocorrendo em tempo de execução.
Não estou entendendo o que esse erro esta falando.
Pedro
Esse seu problema:
java.lang.ArrayIndexOutOfBoundsException
é que vc está acessando um índice do seu array que não existe, verifique qual o tamanho do seu array para limitar o seu loop.
Cara, oq acontece é o seguinte, vc pode usar o replace() ele vai repor todos os carateres de espaço…
Se vc não fizer isso vc pode usar o exemplo que eu te passei porém preste atenção que q eu não usei vazio ‘’ e sim espaço ’ ’ preste bem atenção na diferença…
Use o caracter ‘\0’ q é o identificador de final de string… o laço q eu te passei apenas mude o ‘_’ por ‘’ que vc elimina o espaço…
Se não ficou claro poste mais uma msg!!!
[]'s
Da forma q vc me falou, ele n aceita receber ‘’ vazio, pq eu acho q ele n entede pq vc precisaria de um caracter q n mostra nada ou q n tem nada.
Coloquei a função replace(), mas tmb n deu certo. Deu certo com a replaceAll().
Mas no caso, utilizei direto na string sem utilizar char e sem utilizar arrays.
ficou assim:
s= s.replaceAll(" “,”");
Valeu pelas dicas foram muito uteis…
[color=“darkblue”]DNada!!!
O prazer foi todo nosso em te ajudar!!!
[]'s[/color]