Calcular letra de DNI

Hola en este tutorial voy a enseñar a calcular la letra del DNI. No sé si sabrán ustedes, sino yo se los digo, cuando ustedes usáis el DNI, la letra final del DNI no es algo aleatorio, se utiliza para una formula basada en el resto de la division entre 23, cada cifra va a representar una letra, si es 0 es T si es 2 entonces es R, etc. Esto se usa para evitar el fraude en Hoteles o que te inventes un DNI con facilidad.

Pues bueno ya sabemos la teoría, vamos a ir con la práctica, por aquí os dejo el código

public class Calculo {
    String letras =»TRWAGMYFPDXBNJZSQVHLCKE»;
    String [] letrasArray = letras.split(«»);
   
    public String calcularLetra(int numero){
        int calculo;
        String a;
        calculo = numero %23;
        a=letrasArray[calculo]+»»;
        return a;
    }
   
}

y éste es nuestro código principal:

try {
            Scanner scan = new Scanner(System.in);
            int numeroDni;
            String numeroDniStr;
            String letraDniCli;
            String letraDniOri;
            Calculo calc = new Calculo();

            System.out.println(«Ponga número de DNI»);
            numeroDni = scan.nextInt();
            numeroDniStr = numeroDni + «»;
            if (numeroDniStr.length() != 8) {
                throw new Exception(«No tiene la longitud correcta»);
            }

            ///dni de nuestro cliente
            System.out.println(«Digame la letra del DNI»);
            letraDniOri = scan.next();
            letraDniOri = letraDniOri.toUpperCase();

            ///DNI que nos devuelve el la clase
            letraDniCli = calc.calcularLetra(numeroDni);
            System.out.println(letraDniCli + «»);

            if (letraDniCli.equals(letraDniOri.toUpperCase())) {
                System.out.println(«El DNI es correcto»);
            } else {
                System.out.println(«El DNI esta mal escrito»);
            }

           
        } catch (Exception ex) {
            System.out.println(«Ups a habido un error REF.» + ex.toString());
        }

A aquí os muestro mi vídeotutorial:

   
Esto ha sido todo por el tutorial de hoy, espero que hayan aprendido algo y hasta la próxima.

0 0 votos
Article Rating
Subscribe
Notify of
guest
0 Comments
Comentarios en línea
Ver todos los comentarios