Calcular la letra del DNI con Java
Cómo calcular la letra.
Según este artículo, la letra del DNI se calcular de la suguiente forma:
"La letra del DNI se obtiene dividiendo el número completo de nuestro DNI entre 23
y al resto de dicha división que deberá estar comprendido entre 0 y 22 se le asigna la
letra según la equivalencia de la siguiente tabla:
Resto  
 |    
Letra  
 |    
Resto  
 |    
Letra 
 |   
0  
 |    
T  
 |    
12  
 |    
N 
 |   
1  
 |    
R  
 |    
13  
 |    
J 
 |   
2  
 |    
W  
 |    
14  
 |    
Z 
 |   
3  
 |    
A  
 |    
15  
 |    
S 
 |   
4  
 |    
G  
 |    
16  
 |    
Q 
 |   
5  
 |    
M  
 |    
17  
 |    
V 
 |   
6  
 |    
Y  
 |    
18  
 |    
H 
 |   
7  
 |    
F  
 |    
19  
 |    
L 
 |   
8  
 |    
P  
 |    
20  
 |    
C 
 |   
9  
 |    
D  
 |    
21  
 |    
K 
 |   
10  
 |    
X  
 |    
22  
 |    
E 
 |   
11  
 |    
B  
 |    
El código.
Así que lo que tenemos que hacer es lo siguiente:
1. Calcular el módulo 23 a nuestro número de DNI.
2. Determinar la letra correspondiente a ese módulo: Inicializaremos un String que corresponderá a esas letras en orden, así que con un charAt(modulo) podremos determinar la letra correspondiente a la posición dada.
Ahora podemos crearnos un método que realice esas operaciones, quedaría así:
char calculaLetra(int dni)
    {
    String juegoCaracteres="TRWAGMYFPDXBNJZSQVHLCKE";
    int modulo= dni % 23;
    char letra = juegoCaracteres.charAt(modulo);
    return letra; 
    } 
Espero que sea de utilidad.
Tweet



