[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();
}
}