Desde la función principal tendrás que pedir al usuario que introduzca una frase y le mostrarás dicha frase con la primera y última palabra intercambiada.
Ejemplo:
Introduzca una frase:
> El cielo tiene nubes negras
Resultado: negras cielo tiene nubes El
> El cielo tiene nubes negras
Resultado: negras cielo tiene nubes El
SOLUCIÓN EN JAVA:
package invierteprimeraultima; import javax.swing.JOptionPane; public class InviertePrimeraUltima { //Esta función divide la frase en tres partes: // 1. primera palabra // 2. desde la segunda palabra hasta la penúltima // 3. última palabra // y devuelve la frase poniendo las partes en el orden 3-2-1 static String invierte(String cadena){ String parte1,parte2,parte3; //Primero comprueba que haya al menos un espacio if (cadena.indexOf(" ")!=-1){ parte1=cadena.substring(0,cadena.indexOf(" ")); parte2=cadena.substring(cadena.indexOf(" "),cadena.lastIndexOf(" ")+1); parte3=cadena.substring(cadena.lastIndexOf(" "),cadena.length()); return parte3+parte2+parte1; } else { //sino hay ningún espacio quiere decir que se trataba de una sola palabra //así que la devuelvo tal cual return cadena; } } public static void main(String[] args) { String frase; frase=JOptionPane.showInputDialog("Introduzca una frase (al menos de dos palabras)"); System.out.println("Cadena invirtiendo primer y última palabras: "+invierte(frase)); } }
No hay comentarios:
Publicar un comentario