[RESOLVIDO] Strings

1 resposta Resolvido
java
A

Alguém poderia me ajudar a alterar este código fazendo com que ao invés dele inverter toda a frase inclusive a posição das palavras, ele inverter apenas as palavras mas mantendo-as no mesmo lugar em que estão?

O código executa assim: Ordem e Progresso → ossergorP e medrO
Quero que ele faça assim: Ordem e Progresso → medrO e ossergorP

Código:

Scanner in = new Scanner(System.in);
System.out.println("Insira a frase");
String name = in.nextLine();  
char[] newName = new char[name.length()];  
      
for (int i = name.length() - 1, j = 0; i >= 0; i--, j++) {  
   newName[j] = name.charAt(i);  
}  
      
System.out.println(newName);

1 Resposta

Dragoon
Solucao aceita

DEMO

Scanner in = new Scanner(System.in);
System.out.println("Insira a frase");
String name = in.nextLine();  
String nameReverse = "";
String[] partes = name.split(" ");         
for(String parte : partes){
   char[] newName = new char[parte.length()]; 
   for (int i = parte.length() - 1, j = 0; i >= 0; i--, j++) {  
		newName[j] = parte.charAt(i);  
   }  
   if (nameReverse.isEmpty() == false) nameReverse += " "; 
   nameReverse += String.copyValueOf(newName);
}
System.out.println(nameReverse);

DEMO

Criado 26 de julho de 2016
Ultima resposta 26 de jul. de 2016
Respostas 1
Participantes 2