• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Camara

Algoritmo em Java!

9 mensagens neste tópico

Olá boa noite a todos!

Eu sou novo neste forum e como achei o forum interessante precisava de ajuda num algoritmo que não estou a conseguir fazer!

A situaçáo é a seguinte:

Preciso de inverter as palavras de um texto. Por exemplo vamos imaginar que o texto era: "Fomos ao circo hoje" com o objectivo de ficar: "hoje ao circo Fomos".

Já experimentei várias instruções de código, mas estou com problemas por causa dos espaços entre as palavras.

E já agora se houver algum método em java para poder fazer a instrução directamente num array, era exclente mas eu não conheco.

Alguém me consegue ajudar.

Cumprimentos a todos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema é que segundo o teu exemplo não é feita a epenas uma inversão visto  "Fomos ao circo hoje" e "hoje ao circo Fomos" não ser a mesma string invertida :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema é que segundo o teu exemplo não é feita a epenas uma inversão visto  "Fomos ao circo hoje" e "hoje ao circo Fomos" não ser a mesma string invertida :S

ele fala em inverter as palavras e não uma string!!

mas basta criar um array com as palavras separadas, e isso penso que pode ser feito com a função 'split'.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pode ser feito através de uma string auxiliar, é so trocar as posições

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas, como o magician disse, ele não inverte apenas a String, inverte a frase de forma a ficar legível mas invertida. Reparem na posição do "ao", não está no sitio onde deveriar estar se apenas se tivesse invertido a String. Não sei se foi falha a apresentar o exemplo ou se é mesmo esse o objectivo...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei se foi falha a apresentar o exemplo ou se é mesmo esse o objectivo...

acho que deve ser engano... senão acho que era impossível resolver o problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

OK ! Resolvido. Isto é uma parte do programa. Foi com o "split".

Obrigado a todos.

private void invertText(){

StringBuffer fraseAux = new StringBuffer(" ");

String[] indice = original.split(" ");

for(int i = indice.length-1; i >=0 ; i--){

if (i==indice.length-1)

  fraseAux = fraseAux.append(indice+" ");

      else

  fraseAux = fraseAux.append(indice+" ");

}

String fraseInvert=fraseAux.toString();

System.out.print("invertText "+fraseInvert);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora