estou com um problema de lógica na minha cabeça, tenho de fazer esse exercício, mas nao estou dando conta de fazer correto.... alguem pode me dar uma ajuda.....
esse é o enunciado...
[color=red]Escreva um algoritmo, usando uma Pilha, que inverte as letras de cada palavra de um
texto terminado por ponto (?.?) preservando a ordem das palavras. Por exemplo, dado o
texto:
ESTE EXERCÍCIO É MUITO FÁCIL.
a saída deve será
ETSE OICÍCREXE É OTIUM LICÁF.[/color]
import java.util.Scanner;
public class Inverte2 {
private static String s;
public static void main(String[] args) {
Metodos p1= new Metodos(500);
System.out.println("Digite Uma Frase Qualquer ou uma Palavra Qualquer");
Scanner n = new Scanner(System.in);
s=n.nextLine();
for(int i=0;i<s.length();i++)
{
p1.push(s.charAt(i));
if(s.charAt(i)!=(' '))
p1.push(s.charAt(i));
else
System.out.print(p1.pop());
}
while(!p1.empty())
System.out.print(p1.pop());
}
}
a saída está assim:
Digite Uma Frase Qualquer ou uma Palavra Qualquer
Marcos Vinicius Jacovais
Saída-> ssiiaavvooccaaJJssuuiicciinniiVVssooccrraaMM