Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: PatAs en 14 de Agosto 2017, 15:41
-
Buen día. Les presento código del ejercicio propuesto para lección de referencia CU00904C del tutorial de programación avanzada en Java.
Enunciado:
"En España cada persona está identificada con un Documento Nacional de Identidad (DNI) en el que figura un número y una letra, por ejemplo 56999545W. La letra que sigue al número se calcula siguiendo la metodología que vamos a indicar. Crea un programaque calcule la letra de un DNI a partir del número de DNI que introduzca el usuario. Es decir, se debe pedir el DNI sin la letra por teclado y el programa nos devolverá el DNI completo (con la letra). Para calcular la letra, se debe tomar el resto de dividir nuestro número de DNI entre 23. El resultado debe estar por tanto entre 0 y 22."
Cordial saludo.
package CU00904C;
import CU00903C.EntradaPorTeclado;
/**
* Write a description of class CalcularLetraDNI here.
*
* @author (Arnaldo R. Martinez)
* @version (11-Ago-2017) - Ejercicio propuesto por aprenderaprogramar.com
*/
public class CalcularLetraDNI {
public static void main (String arg[]) {
int DNI = 0;
int restoDNI = 0;
System.out.println("Comienza el programa");
System.out.println("Por favor ingrese el número de DNI (solo el número) ");
EntradaPorTeclado dni = new EntradaPorTeclado();
DNI = Integer.valueOf(dni.getEntrada());
//Se calcula el resto de dividir el número de DNI por 23
restoDNI = DNI%23;
System.out.println("");
System.out.println("El número de DNI es: " +DNI+obtenerLetra(restoDNI));
}
public static char obtenerLetra(int numeroDNI) {
char[] letrasDNI = {'T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E'};
return letrasDNI[numeroDNI];
}
}
Se adjunta código del auxiliar 'EntradaPorTeclado'
package CU00903C;
import java.util.Scanner;
/**
* Para obtener entradas por teclado
*
* @author (Arnaldo Martinez)
* @version (01_2016)
*/
public class EntradaPorTeclado{
private String entradaTcl; //Campo de la clase
//Constructor
public EntradaPorTeclado(){
entradaTcl= "";
pedirEntrada(); //Llamado a un mètodo interno
}
//Mètodos de la clase
public void pedirEntrada(){
Scanner eEsc= new Scanner(System.in);
entradaTcl= eEsc.nextLine();
}
public String getEntrada(){
return entradaTcl;
}
}
-
Buenas PatAs. Ejercicio bien resuelto
Salu2