jueves, 23 de marzo de 2017

Pasar una subcadena a mayúsculas

Crea una función que reciba dos cadenas de caracteres y que devuelva la primera cadena, pero transformando en mayúsculas la parte que coincide con la segunda cadena introducida.

Desde la función principal se pedirán las dos cadenas y se mostrará el resultado que devuelva la función de arriba.


Ejemplo:
Introduzca primera cadena:

> “Este es mi amigo Juan”

Introduzca segunda cadena:

> “amigo”

Resultado: “Este es mi AMIGO Juan”.


SOLUCIÓN EN JAVA:
package subcadenamayuscula;

import javax.swing.JOptionPane;

public class SubcadenaMayuscula {

    static String pasaMayusculas(String cadena, String parte){
        int posicion;
        String subcadena;
        
        posicion=cadena.indexOf(parte);
        if (posicion!=-1){   //Solo si el resultado de llamar a indexOf es distinto de -1 es porque la ha encontrado
            subcadena=cadena.substring(posicion,posicion+parte.length());   
            //Devuelvo la nueva cadena formada por la primera parte de la cadena principal si tocar,
            //la segunda parte pasada a mayúsculas y la tercer parte sin tocar
            return cadena.substring(0,posicion)+subcadena.toUpperCase()+cadena.substring(posicion+parte.length());
        } else{
            return cadena;
        }
    }
    
    public static void main(String[] args) {
        String cadena1,cadena2;
        
        cadena1=JOptionPane.showInputDialog("Introduzca primera cadena:");
        cadena2=JOptionPane.showInputDialog("Introduzca segunda cadena:");
        JOptionPane.showMessageDialog(null, "Resultado: "+pasaMayusculas(cadena1,cadena2));
        
    }
    
}

miércoles, 22 de marzo de 2017

Cadena Espejo

Crea una función que reciba una cadena de caracteres y la devuelva invertida con efecto espejo, esto es, se concatena a la palabra original su inversa, compartiendo la última letra, que hará de espejo, por lo que la palabra obtenida se lee igual hacia adelante que hacia atrás.

Desde la función principal se pedirá al usuario que introduzca una cadena y haciendo uso de dicha función se le mostrará su correspondiente cadena espejo.



Ejemplo:
Introduzca una cadena:

> “teclado”

Resultado: “tecladodalcet”


SOLUCIÓN EN JAVA:
package cadenainvertida;

import javax.swing.JOptionPane;


public class CadenaInvertida {

    static String espejo(String original){
        int i;
        String nueva="";
        
        for (i=original.length()-1 ; i >= 0 ; i--){
            nueva=nueva+original.charAt(i);
        }
        return original+nueva;
    }
    
    public static void main(String[] args) {
       String cadena;
       
       cadena=JOptionPane.showInputDialog("Introduza una cadena");
       System.out.println("Resultado: "+espejo(cadena));
    }