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
2 Comentarios:
La ultima 'T' no hace falta
Gracias. Ya está corregido.
Saludos.
Publicar un comentario