Mostrando entradas con la etiqueta cadena. Mostrar todas las entradas
Mostrando entradas con la etiqueta cadena. Mostrar todas las entradas

jueves, 20 de abril de 2017

Averiguar la palabra secreta

Crea una aplicación que pida al usuario una palabra secreta y, a continuación, tendrá tres oportunidades de adivinarla.

Si no la acierta en los tres intentos se informará de cuál era la palabra correcta, y si acierta en cualquiera de los tres intentos, el programa finalizará indicándo al usuario que ha acertado.


Ejemplo:
Introduzca palabra secreta:

> “Madagascar”

Intenta averiguar la palabra, intento 1:

> “amigo”

Intenta averiguar la palabra, intento 2:

> “perro”

Intenta averiguar la palabra, intento 3:

> “madagascar”

Enhorabuena!!


SOLUCIÓN EN JAVA:
package averiguapassword;

import javax.swing.JOptionPane;

public class AveriguaPassword {


    public static void main(String[] args) {
       int intentos=0;
       String secreta, palabra;
       
       secreta=JOptionPane.showInputDialog("Introduzca la palabra secreta");
       do{
           palabra=JOptionPane.showInputDialog("Intenta averiguar la palabra, intento: "+(intentos+1)); 
           //Se seguirán dando oportunidades mientras que el usuario no acierte ni consuma los 3 intentos
       } while (!palabra.equalsIgnoreCase(secreta) && ++intentos<3);
       if (intentos==3){
           JOptionPane.showMessageDialog(null, "Lo siento, la palabra secreta era: "+secreta);
       } else {
           JOptionPane.showMessageDialog(null, "Enhorabuena!!");
       }
    }
    
}

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

lunes, 13 de febrero de 2017

Calculo letra DNI

Crea una función para calcular la letra del NIF que le corresponde al número de DNI que le pasan como parámetro.
Desde la función principal tendrás que pedir al usuario un número de DNI y mostrar la letra que le corresponde al usuario haciendo uso de la función anterior.


Ejemplo:
Introduzca un número de DNI:
> 22356857
Al DNI: 22356857 le corresponde la letra: Y


SOLUCIÓN EN JAVA:
package calculonif;

import javax.swing.JOptionPane;

public class CalculoNIF {

    //Esta función devuelve la letra que le corresponde al número de dni que se le 
    //pasa como parámetro
    static char calculaLetra(long numero){
        String letras="TRWAGMYFPDXBNJZSQVHLCKE";    
        int posicion;
        
        //Calculo el resto de la división entre 23 para veriguar la posición 
        //dentro de la cadena de letras definida arriba
        posicion=(int)(numero%23);
        
        //Devuelvo la letra que hay en la posición "posicion" de la cadena de letras
        return letras.charAt(posicion);
    }
    public static void main(String[] args) {
        String dni;
        long numero=0;
        
        dni=JOptionPane.showInputDialog("Introduzca un número de DNI:");
        try{
            numero=Long.parseLong(dni);
            JOptionPane.showMessageDialog(null,"Al número de DNI: "+dni+" le corresponde la letra: "+calculaLetra(numero));
        } catch (NumberFormatException e){
            JOptionPane.showMessageDialog(null, "Formato incorrecto en el dni");
        }   
    } 
}

jueves, 9 de febrero de 2017

Cadenas: Cuenta número de vocales

Crea una función que cuente el número de vocales que contiene una cadena.
Desde la función principal tendrás que pedir una palabra o frase al usuario y tendrás que mostrar el número de vocales que contiene haciendo uso de la función anterior.


Ejemplo:
Introduzca una palabra o frase:

> “La lluvia en Sevilla es una maravilla”

La palabra o frase contiene 15 vocales.


SOLUCIÓN EN JAVA:
package numerovocales;

import javax.swing.JOptionPane;


public class NumeroVocales {

    static int cuentaVocales(String cadena){
        int suma=0,i;
        
        //Para evitar comparar minúscula y mayúsculas de forma separada
        //transformo toda la cadena a minúsculas
        cadena=cadena.toLowerCase();
        for (i=0 ; i < cadena.length() ; i++){
            if (cadena.charAt(i)=='a' || 
                cadena.charAt(i)=='e' ||
                cadena.charAt(i)=='i' || 
                cadena.charAt(i)=='o' || 
                cadena.charAt(i)=='u') {
                suma++;
            }
        }
        return suma;
    }
    
    public static void main(String[] args) {
        String cadena;
        
        //Pido al usuario una palabra o frase
        cadena=JOptionPane.showInputDialog("Introduce una palabra o frase:");
        //Y muestro el número de vocales que contiene dicha palabra o frase 
        //haciendo uso de la funcion "cuentaVocales" creada más arriba
        System.out.println("El número de vocales de la cadena es: "+cuentaVocales(cadena));
    }
    
}