Código java (AI_DniValidator.java):
package ai_dnivalidator;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class AI_DniValidator {
private static final String DNI_PATTERN = "^[0-9]{8}[A-Z]$";
public static boolean isValid(String dni) {
Pattern pattern = Pattern.compile(DNI_PATTERN);
Matcher matcher = pattern.matcher(dni);
if (!matcher.matches()) {
return false;
}
String letras = "TRWAGMYFPDXBNJZSQVHLCKE";
int modulo = Integer.parseInt(dni.substring(0, 8)) % 23;
char letraEsperada = letras.charAt(modulo);
char letraObtenida = dni.charAt(8);
return letraEsperada == letraObtenida;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingresa un DNI: ");
String dni = scanner.nextLine().toUpperCase();
System.out.println(isValid(dni) ? "DNI válido" : "DNI inválido");
}
}
Resultado:
run:
Ingresa un DNI: 12345678z
DNI válido
BUILD SUCCESSFUL (total time: 5 seconds)
Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.
Archivo del blog
-
►
2012
(38)
- ► septiembre (3)
-
►
2020
(12)
- ► septiembre (1)
-
▼
2022
(30)
- ► septiembre (4)
-
▼
diciembre
(7)
- Crear curva Bézier. Uso de método curveTo de Gener...
- Dibujar fractal de Mandelbrot
- Validación DNI de España.
- Conversión de Infijo a Postfijo usando pilas (v.2)
- Conversión de Infijo a Postfijo usando pilas (v.3)...
- Problema del viajante de comercio TSP (IV). Cálcul...
- Conversión de Infijo a Postfijo usando pilas (v.4)...
domingo, 25 de diciembre de 2022
Validación DNI de España.
Suscribirse a:
Enviar comentarios (Atom)
Con la tecnología de Blogger.
No hay comentarios:
Publicar un comentario