Respuesta que se plantea al ejercicio CU00904C del curso avanzado de programación Java de aprenderaprogramar.
Clase EntradaDeTeclado
Se encarga de gestionar los ingresado por el usuario por el teclado.
package registrardocumento;
import java.util.Scanner;
public class EntradaDeTeclado {
private String entradaTeclado;
Scanner sc = new Scanner(System.in);
public EntradaDeTeclado() {
entradaTeclado = "";
}
public String setEntrada() {
entradaTeclado = sc.nextLine();
return entradaTeclado;
}
public String getEntrada() {
return entradaTeclado;
}
}
clase Dni
Se encarga de obtener la letra que corresponde dependiendo del numero que le pasa el usuario.
package registrardocumento;
public class Dni {
private final String[] letra = {"T", "R", "W", "A", "G", "M", "Y", "F", "P", "D", "X", "B", "N", "J", "Z", "S", "Q", "V", "H", "L", "C", "K", "E"};
public String obtenerLetra(int numeroDNI) {
int resultado;
String letradni;
resultado = numeroDNI % 23;
letradni = letra[resultado];
return letradni;
}
}
Clase principal main
Donde se ejecuta el programa.
package registrardocumento;
public class RegistrarDocumento {
public static void main(String[] args) {
EntradaDeTeclado teclado = new EntradaDeTeclado();
Dni dni = new Dni();
System.out.println("Ingrese numero: ");
teclado.setEntrada();
String numeroDni = teclado.getEntrada();
String letra = dni.obtenerLetra(Integer.valueOf(numeroDni));
System.out.println("El numero de DNI asignado es: " + numeroDni + letra);
}
}