Ir para conteúdo
Fórum Script Brasil
  • 0

inversao de palavras


Schirbel

Pergunta

[ajuda - lógica - java]
Ae galera, estou com um problema aqui e não consigo pensar o que devo fazer.
Tenho que inverter a ordem das letras em uma frase, entretanto, sem inverter a ordem das palavras, exemplo:
bom dia
mob aid

Com isso tudo bem, entretanto, meu código não funciona após alguns obstáculos, por exemplo: " ; ", " . ", " : ", " ".
Para o espaço, meu código reconhece e executa corretamente, mas não consigo restringir para os outros símbolos.
ex:
bom dia
mob aid

bom dia, galera
mob aid ,arelag

a vírgula, ponto e virgula, ponto e dois pontos não podem ser invertidos. Como faço isso?!

import java.util.Scanner;
public class InversaoDePalavras {
public static void main(String[] args) {
String frase;
Scanner scan = new Scanner(System.in);
frase = scan.nextLine();


char v[] = frase.toCharArray();
char temp;

for (int i = 0; i < v.length - 1; i++) { 
for(int j =0; j<v.length-i;j++){

if(v[i]==',')
break;

temp = v[i];
v[i] = v[i+j];
v[i+j] = temp;

}
}

String palavras = String.valueOf(v);
String [] inverter = palavras.split(" ");

for (int i = inverter.length -1; i >= 0; i--){
System.out.print(inverter[i]+" ");
}

System.out.println();
}
}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Não seria mais você armazenar em um array, após obter o numero de caracteres a serem invertidos e imprimir o array com um for de tras para a frente ?

Ou então:

String teste = "Inverter palavra";
String[] a = teste.split(" ");

for(int i=a.length-1; i >= 0; i--)
System.out.print(a[i] + " ");
Editado por Mário Freitas
Link para o comentário
Compartilhar em outros sites

  • 0
Em 21/04/2015 em 13:59, Schirbel disse:

[ajuda - lógica - java]
Ae galera, estou com um problema aqui e não consigo pensar o que devo fazer.
Tenho que inverter a ordem das letras em uma frase, entretanto, sem inverter a ordem das palavras, exemplo:
bom dia
mob aid

Com isso tudo bem, entretanto, meu código não funciona após alguns obstáculos, por exemplo: " ; ", " . ", " : ", " ".
Para o espaço, meu código reconhece e executa corretamente, mas não consigo restringir para os outros símbolos.
ex:
bom dia
mob aid

bom dia, galera
mob aid ,arelag

a vírgula, ponto e virgula, ponto e dois pontos não podem ser invertidos. Como faço isso?!

 


import java.util.Scanner;
public class InversaoDePalavras {
public static void main(String[] args) {
String frase;
Scanner scan = new Scanner(System.in);
frase = scan.nextLine();


char v[] = frase.toCharArray();
char temp;

for (int i = 0; i < v.length - 1; i++) { 
for(int j =0; j<v.length-i;j++){

if(v[i]==',')
break;

temp = v[i];
v[i] = v[i+j];
v[i+j] = temp;

}
}

String palavras = String.valueOf(v);
String [] inverter = palavras.split(" ");

for (int i = inverter.length -1; i >= 0; i--){
System.out.print(inverter[i]+" ");
}

System.out.println();
}
}

 

2 minutos atrás, Java disse:

 

 

 

 

2 minutos atrás, Java disse:

 

E se quiser colocar um System.out.println(" "); o que fazer

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...