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