Averiguar letra DNI

Dificultad: (1/4) (Fácil)1000 Visitas: 1
Fecha: 2009-02-06 16:54:00

Os dejo una clase para averiguar la letra del dni dandole el numero. Tambien os dejo un pequeño trozo de código para que podais probar que funciona. La clase en sí:

Codigo fuente @JAVA
  1. public class NIF {
  2. // Atributos
  3. private int dni;
  4. char letra;
  5. public NIF() {
  6. dni=0;
  7. letra=' ';
  8. }
  9. public NIF(int adni){
  10. dni = adni;
  11. letra = auxiliar(adni);
  12. }
  13. private char auxiliar(int adni){
  14. int aux;
  15. aux = adni % 23;
  16. switch (aux){
  17. case 0: letra='T';
  18. break;
  19. case 1: letra='R';
  20. break;
  21. case 2: letra='W';
  22. break;
  23. case 3: letra='A';
  24. break;
  25. case 4: letra='G';
  26. break;
  27. case 5: letra='M';
  28. break;
  29. case 6: letra='Y';
  30. break;
  31. case 7: letra='F';
  32. break;
  33. case 8: letra='P';
  34. break;
  35. case 9: letra='D';
  36. break;
  37. case 10: letra='X';
  38. break;
  39. case 11: letra='B';
  40. break;
  41. case 12: letra='N';
  42. break;
  43. case 13: letra='J';
  44. break;
  45. case 14: letra='Z';
  46. break;
  47. case 15: letra='S';
  48. break;
  49. case 16: letra='Q';
  50. break;
  51. case 17: letra='V';
  52. break;
  53. case 18: letra='H';
  54. break;
  55. case 19: letra='L';
  56. break;
  57. case 20: letra='C';
  58. break;
  59. case 21: letra='K';
  60. break;
  61. case 22: letra='E';
  62. break;
  63. default: letra=' ';
  64. break;
  65. }
  66. return letra;
  67. }
  68. public String mostrarDNI(){
  69. String aux;
  70. aux=String.valueOf(dni)+"-"+letra;
  71. System.out.println(aux);
  72. return aux;
  73.  
  74. }
  75. public int getDNI(){
  76. return dni;
  77. }
  78. public char getLetra(){
  79. return letra;
  80. }
  81. public void setDNI(int adni){
  82. dni = adni;
  83. letra = auxiliar(adni);
  84. }
  85. }
Programado en PaNa-S.com
Y aquí el trozo de prueba:
Codigo fuente @JAVA
  1. public class pruebaNIF {
  2.  
  3. public static void main(String[] args) {
  4. NIF dni,dni2;
  5. String s;
  6. dni = new NIF();
  7. dni2 = new NIF(44884578);
  8. dni.setDNI(44884588);
  9. System.out.println("mi dni (usando el segundo constructor) es "+dni2.mostrarDNI());
  10. System.out.println("mi dni es"+dni.mostrarDNI());
  11. }
  12.  
  13. }
Programado en PaNa-S.com
Como siempre el script lo podeis bajar haciendo clic aquí

Averiguar letra DNI está en la categoría: Java

Bookmark and Share
Puntuado 3.73/5 (74.63%) (41 Votos)
Escribe un comentario

1 Comentario

Sin duda un ejemplo muy ilustrativo, y de lo más útil en Gestión. Esto no puede faltar en el "arsenal" de un programador. Pero se me ocurre una forma un poco más corta de resolverlo. El método auxiliar(int adni), podría resumirse en algo asi: private char auxiliar(int adni){ String letras = "TRWAGMYFPDXBNJZSQVHLCKE"; return letras.charAt(adni%23); } No lo he probado, pero creo que salvo algún involuntario error de sintaxis podría servir. Saludos... y, sobre todo, enhorabuena por la web. Muy buen contenido, fácil de entender, y útil.

Anonymous
@ sobre un año

Escribe tu comentario

Imagen Anti-Spam

Últimos tutoriales

Últimos scripts

Enlaces

Nube de tags

  mac     java     moviles     cbrutonoti     htc diamond     overclocking     modding     htc magic     windows     bank4droid     jtuenti     herramientas     seo     css     xhtml     cperdidas     messenger     php     android  

El contenido de esta página requiere una versión más reciente de Adobe Flash Player.

Obtener Adobe Flash Player



Generado desde cero con PHP y MySQL. Valid XHTML/CSS/RSS   
Technology Top Blogs DigNow.net Technology blogs & blog posts

Quantcast