Ejercicios ejemplos resueltos con arrays (arreglos) unidimensionales en Java. Calcular letra DNI (CU00904C)

Resumen: Entrega nº4 del curso Lenguaje de programación Java Nivel Avanzado I.
Codificación aprenderaprogramar.com: CU00904C
 

 

En esta entrega vamos a realizar ejercicios de repaso para afianzar conocimientos que ya debemos tener sobre Java. Crea el código de dos programas que cumplan las siguientes premisas:

 

 
 

 

a)    Programa 1.

Declara un array tipo int (entero) denominado numerodecoches que contenga 24 variables. Declara una variable tipo int (entero) que se llame r. Establece el valor de r en 2 y el valor de numerodecoches para un localizador de valor r en 23. Procede a mostrar en pantalla un mensaje que indique cuál es la hora r y el número de coches para la hora r. Finalmente, modifica únicamente la asignación de valor a r de modo que en vez de 2 sea 21 y ejecuta de nuevo el programa.

 

b)   Programa 2.

Sobre el programa anterior mantén el número de elementos de numerodecoches en 24. Declara dos variables a y b de tipo int(entero). Establece a con valor 8, b con valor 4 y r con valor a dividido entre b. Ejecuta el programa.

 

 

SOLUCIÓN

El programa 1 será el siguiente. Si lo ejecutamos obtendremos "El número de coches en la hora 2 fue 23". Si cambiamos r = 2 por r = 21 obtendremos "El número de coches en la hora 21 fue 23".

Un array en Java es una estructura de datos que nos permite almacenar un conjunto de datos de un mismo tipo. El tamaño de los arrays se declara en un primer momento y no puede cambiar luego durante la ejecución del programa, como sí puede hacerse en otros lenguajes. Veremos ahora cómo declarar arrays estáticos de una dimensión.

  /* Ejercicio Programa 1 – aprenderaprogramar.com */

 

   public class Programa1 {

 
         public static void main(String arg[ ]) {
 

int[ ] numerodecoches = new int[24];

 int r;

 r = 2;

 numerodecoches[r] = 23;

System.out.print("El número de coches en la hora "+r+" fue "+ numerodecoches[r]);

         }
 
   }

 

 

Nota: Recordar que cuando declaramos un array de 24 elementos comoint[ ] numerodecoches = new int[24];, los elementos del array que se crean son numerodecoches[0], numerodecoches[1] … hasta numerodecoches[23]. Tenemos por tanto 24 elementos (del 0 al 23) pero no existe la variable numerodecoches[24] como puede ocurrir en otros lenguajes.

Nota: El símbolo “+” significa concatenación y se usa para concatenar en este caso valores cadena con variables que tienen un valor numérico. De este modo obtenemos una sola cadena que se imprime en la pantalla DOS. También recordar que numerodecoches[r] = 23 significa que estamos asignando el número 23 a la posición indicada por el valor que tenga r en su momento, siendo el valor máximo que podría tener r el valor 23 y el valor mínimo 0. El uso de otros valores de r daría lugar a un error.

El programa 2 será el siguiente. Ten en cuenta que el array numerodecoches tiene 24 elementos siendo el primero el de localizador cero. El resultado va a ser igual que el del anterior programa, ya que r = 2 dado que 8/4 = 2. Por lo tanto se mostrará en pantalla "El número de coches en la hora 2 fue 23".

 

    /* Ejercicio Programa 2 – aprenderaprogramar.com */

 
   public class Programa2 {
               
       public static void main(String arg[ ]) {
  

int[ ] numerodecoches = new int[24];

int a, b;

int r;

a = 8;

b = 4;

r = a / b;

numerodecoches[r] = 23;

System.out.print("El número de coches en la hora "+r+" fue "+ numerodecoches[r]);

 
       }  
   }

 

 

EJERCICIO

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 programa que 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.

Crea un método obtenerLetra(int numeroDNI) donde según el resultado de la anterior fórmula busque en un array de caracteres la posición que corresponda a la letra. Esta es la tabla de caracteres:

Posición     0   1   2   3  4   5   6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22

Letra            T   R  W A  G  M  Y  F  P  D  X    B   N    J    Z    S   Q    V   H    L   C   K   E

Por ejemplo, si introducimos el  DNI 20267079, el resto de dividirlo por 23 sería 8, luego la letra sería la P, que es la que ocupa esa posicion  en la matriz de caracteres.

Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Donar o colaborar

Este sitio se mantiene abierto gracias al apoyo de muchas personas. Si crees que merece la pena apoyar económicamente este sitio web puedes realizar una donación o colaborar. Contacta con nosotros.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

JULIO - AGOSTO 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. JavaScript, jQuery
5. .NET, C#
6. HTML, CSS
7. Android, iOS
8. Php, MySql


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación