Autor Tema: Obtener la letra del DNI a partir del número Ejercicios java avanzado CU00904C  (Leído 2929 veces)

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Clase principal main

Código: [Seleccionar]
package ejercicioscuoo904c;

public class EjerciciosCuoo904c {

    public static void main(String[] args) {
        Documento numero = new Documento();
        EntradaDeTeclado entrada = new EntradaDeTeclado();
        System.out.println("Agregar el numero de DNI:");
        entrada.Agregar();
        int numeroDNI = Integer.parseInt(entrada.getEntrada());
        numero.obtenerLetra(numeroDNI);
    }

}


Clase entrada del teclado

Código: [Seleccionar]
package ejercicioscuoo904c;

import java.util.Scanner;

public class EntradaDeTeclado {

    private String entradaTeclado;
    Scanner sc = new Scanner(System.in);

    public EntradaDeTeclado() {
        entradaTeclado = "";
    }

    public String Agregar() {
        entradaTeclado = sc.nextLine();
        return entradaTeclado;
    }

    public String getEntrada() {
        return entradaTeclado;
    }

}


Clase documento para obtener la letra del DNI

Código: [Seleccionar]
package ejercicioscuoo904c;

public class Documento {

    private 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 Documento() {
    }

    public void obtenerLetra(int numeroDNI) {
        int resto;
        String letraDni;
        resto = Math.round(numeroDNI % 23);
        letraDni = letra[resto];

        System.out.println("El numero de su Documento Nacional de Identidad (DNI) es: " + numeroDNI + "" + letraDni);
    }
}
« Última modificación: 18 de Julio 2016, 18:17 por Alex Rodríguez »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Ejercicios de java avanzado I CU00904C
« Respuesta #1 en: 24 de Junio 2016, 08:48 »
Hola.

En líneas generales veo tu código correcto.

Lo que si cambiaría es el método Agregar de la clase EntradaTeclado.Tal y como lo has planteado es una mezcla de getter y setter ya que estableces el valor y lo devuelve.

Yo lo convertiría simplemente en un setter:

Código: [Seleccionar]
public void setAgregar() {
        entradaTeclado = sc.nextLine();     


Recuerda cambiar en la clase principal la linea:
entrada.Agregar();

por

entrada.setAgregar();

Un saludo
« Última modificación: 18 de Julio 2016, 18:18 por Alex Rodríguez »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".