lunes, 29 de agosto de 2016

Obtener letra a partir del Dni

Las letras de los Dni NO se ponen aleatoriamente, sino que se utiliza una fórmula para obtenerla.
Las letras de los Dni se obtienen dividiendo el número del Dni entre 23 y, según el resto de la división le corresponderá una letra. Veamos la tabla:


Si tenemos un Dni que al dividirlo entre 23 nos diera el resto como resultado 4 por ejemplo, la letra que corresponderá a ese número de Dni es G.
¿Cuál es el operador en Java para calcular el resto? En Java se utiliza el operador % para calcular el resto.
El siguiente programa pide al usuario que introduzca un Dni y luego muestra la letra correspondiente. Veamos el código:


import java.util.Scanner;

public class LetraDni {
    public static void main(String[] args) {
        //Objeto de la clase Scanner para introducir dni por teclado y
        //dos variables de tipo int que almacenan el dni y el resto del resultado
        //de la división
        Scanner miScanner = new Scanner(System.in);
        int dni;
        int resto;
        
        //Se pide que se introduzca el número Dni, se almacena en la variable dni
        //y se realiza la operación para calcular el resto
        System.out.println("Escriba su número DNI: ");
        dni = miScanner.nextInt();
        resto = dni%23;
        
        //Se crea un condicional switch y según el resultado muestra una letra
        //por pantalla.
        switch(resto) {
            case 0:
                System.out.println("La letra del DNI " + dni + " es " +
                        "T.");
                break;
            case 1:
                System.out.println("La letra del DNI " + dni + " es " +
                        "R.");
                break;
            case 2:
                System.out.println("La letra del DNI " + dni + " es " +
                        "W.");
                break;
            case 3:
                System.out.println("La letra del DNI " + dni + " es " +
                        "A.");
                break;
            case 4:
                System.out.println("La letra del DNI " + dni + " es " +
                        "TG.");
                break;
            case 5:
                System.out.println("La letra del DNI " + dni + " es " +
                        "M.");
                break;
            case 6:
                System.out.println("La letra del DNI " + dni + " es " +
                        "Y.");
                break;
            case 7:
                System.out.println("La letra del DNI " + dni + " es " +
                        "F.");
                break;
            case 8:
                System.out.println("La letra del DNI " + dni + " es " +
                        "P.");
                break;
            case 9:
                System.out.println("La letra del DNI " + dni + " es " +
                        "D.");
                break;
            case 10:
                System.out.println("La letra del DNI " + dni + " es " +
                        "X.");
                break;
            case 11:
                System.out.println("La letra del DNI " + dni + " es " +
                        "B.");
                break;
            case 12:
                System.out.println("La letra del DNI " + dni + " es " +
                        "N.");
                break;
            case 13:
                System.out.println("La letra del DNI " + dni + " es " +
                        "J.");
                break;
            case 14:
                System.out.println("La letra del DNI " + dni + " es " +
                        "Z.");
                break;
            case 15:
                System.out.println("La letra del DNI " + dni + " es " +
                        "S.");
                break;
            case 16:
                System.out.println("La letra del DNI " + dni + " es " +
                        "Q.");
                break;
            case 17:
                System.out.println("La letra del DNI " + dni + " es " +
                        "V.");
                break;
            case 18:
                System.out.println("La letra del DNI " + dni + " es " +
                        "H.");
                break;
            case 19:
                System.out.println("La letra del DNI " + dni + " es " +
                        "L.");
                break;
            case 20:
                System.out.println("La letra del DNI " + dni + " es " +
                        "C.");
                break;
            case 21:
                System.out.println("La letra del DNI " + dni + " es " +
                        "K.");
                break;
            case 22:
                System.out.println("La letra del DNI " + dni + " es " +
                        "E.");
                break;
        }
    }
}

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...