Desde la función principal tendrás que pedir al usuario un número de DNI y mostrar la letra que le corresponde al usuario haciendo uso de la función anterior.
Ejemplo:
Introduzca un número de DNI:
> 22356857
Al DNI: 22356857 le corresponde la letra: Y
> 22356857
Al DNI: 22356857 le corresponde la letra: Y
SOLUCIÓN EN JAVA:
package calculonif;
import javax.swing.JOptionPane;
public class CalculoNIF {
//Esta función devuelve la letra que le corresponde al número de dni que se le
//pasa como parámetro
static char calculaLetra(long numero){
String letras="TRWAGMYFPDXBNJZSQVHLCKE";
int posicion;
//Calculo el resto de la división entre 23 para veriguar la posición
//dentro de la cadena de letras definida arriba
posicion=(int)(numero%23);
//Devuelvo la letra que hay en la posición "posicion" de la cadena de letras
return letras.charAt(posicion);
}
public static void main(String[] args) {
String dni;
long numero=0;
dni=JOptionPane.showInputDialog("Introduzca un número de DNI:");
try{
numero=Long.parseLong(dni);
JOptionPane.showMessageDialog(null,"Al número de DNI: "+dni+" le corresponde la letra: "+calculaLetra(numero));
} catch (NumberFormatException e){
JOptionPane.showMessageDialog(null, "Formato incorrecto en el dni");
}
}
}
No hay comentarios:
Publicar un comentario