Curso Java. Volumen VIII: Ejercicios prácticos

Escrito por Adrián Crespo
Java

Como todos los Lunes, aquí estamos con otra entrega del curso de Java.

En la entrega anterior se explicaron los bucles en Java.

Esta entrega será un poco diferente, ya que esta formada por una serie de ejercicios de repaso, con los cuales podréis practicar todo lo que hemos dado en el curso hasta el momento.  Los ejercicios están formados por:  Ejercicio de un bucle, ejercicio de instrucciones if, ejercicio de instrucciones elseif, ejercicio de la instrucción switch.

Por lo que en principio, son 4 ejercicios.

Para el que quiera aprender más, el problema del bucle, el que lo haga con for, puede probar opcionalmente a implementarlo con while y viceversa. También de manera opcional, el quiera, puede intentar hacer el problema del switch con elseif.

A continuación, los ejercicios que os vamos a proponer.

  • Bucle

Crear un programa principal que sea capaz de imprimir por pantalla los números del 0 al 10 (bucles).

  • If

Crear una clase que se llame ExamenConducirTeorico, con un unico atributo que se llame numFallos.

  • Poseerá un constructor al que se le pase como parametro el numero de fallos .
  • Método que se llamara esApto, no se le pasa ningun parámetro. Si numFallos es menos o igual que 3, mostrara un mensaje por pantalla (por ejemplo: aprobado). Sino mostrara otro mensaje ( por ejemplo: suspenso).
  • Para probar la clase, en un programa principal, crearemos un objeto de la clase (asignándole el número de fallos que queramos) y haciendo una llamada a la función esApto.

Recordatorio: Para crear un objeto de prueba  de una clase recordar que se debe utilizar el constructor, por lo tanto:

ExamenConducirTeorico obj= new ExamenConducirTeorico(parámetros del constructor);

y una vez creado el objeto para probar el método:

obj.nombre del método;

  • Else if

Crear un programa principal con dos atributos enteros, que serán dos edad de dos personas, se les asignara un valor que vosotros escogeréis.

  • Si las dos son mayores de 18, se mostrar por pantalla “Pueden votar los dos”.
  • En el caso de que solo uno tenga mayoría de edad, se mostrara por pantalla un mensaje indicando quien puede votar y quien no.
  • En caso de que los dos sean menor de edad mostraremos “Ninguno de los dos puede votar”.

Recordatorio: en las instrucciones condicionales (if), pueden evaluarse dos condiciones o más en un mismo if, por ejemplo:

if (condicion1 || condicion2)</em>

<em>{</em>

<em> hacer1</em>

<em>}else{</em>

<em>hacer2</em>

<em>}

“||” es un “o”, es decir que, si se cumple la condicion1 o si se cumple la condicion2, hacemos el hacer1, si no hacemos el hacer2

if (condicion1 && condicion2)</em>

<em>{</em>

<em>hacer1</em>

<em>}else{</em>

<em>hacer2</em>

<em>}

“&&” es un “y”. Por lo tanto, si se cumple la condicion1 y se cumple también la condición2, hacemos el hacer1, si alguna de las dos no se cumple, haremos el hacer2

  • Switch

Crear un programa principal en el cual trataremos de identificar que operador aritmético es. El programa tendrá un único atributo que sera un carácter, al cual le asignaréis vosotros el valor que queráis (*, +,. /) o bien uno distinto de los signos aritméticos (a, x, $, …).

Si es el *, deberá mostrar por pantalla “El operador es el *”.
Si es el +, deberá mostrar “El operador es el +”.
Si es el -, deberá mostrar “El operador es el –”.
Si es el /, deberá mostrar “El operador es el /”.
Si no es ninguno de los anteriores, mostrar “ Carácter desconocido”.

Estos son los ejercicios que os proponemos para que practiquéis.  Ya sabéis que si tenéis alguna duda, la podéis exponer y os la resolveremos.


Continúa leyendo
  • yeah

    Excelente, seguimos adelante…

    Ánimo chicos.

  • Lourdes

    ¿No pondréis las soluciones de los ejercicios? Tengo problemas con el 2º , lo he hecho así:
    public class ExamenConducirTeorico {

    private int numFallos;

    public void EsApto(int numFallos){

    if(numFallos<=3)
    {
    System.out.println("Aprobado");
    }
    else
    {
    System.out.println("Suspenso");
    }
    }

    }
    pero al darle a Run File me sale una ventana que dice que a la clase le falta el método principal.

    • Debes hacerlo en un método principal MAIN.

      Haz clic derecho sobre el paquete, y le das a CLASE JAVA MAIN (principal) y dentro del main lo deberás meter para poder ejecutarlo.

      De todas formas, sí pondremos las soluciones, no te preocupes.

  • Adrian

    Tengo un pequenho problema con el ejercicio elseif, l hice de tal manera como que hubiera 4 casos distintos de edades pero el programa solo me muestra 2 (Voto1, Voto2) os dejo el codigo a ver si me podeis resolver la duda:

    public class Votar {

    int edad1;
    int edad2;

    public Votar (int e1, int e2){

    edad1=e1;
    edad2=e2;
    }

    public void Puedenvotar (){

    if (edad1>=18 && edad2>=18){

    System.out.println(“Pueden votar los dos”);
    }
    else if (edad1=18){

    System.out.println(“Solo puede votar el votante 2”);
    }
    else if (edad2>=18 && edad1<18){

    System.out.println("Solo puede votar el votante 1");
    }
    else if (edad1<18 && edad2<18){

    System.out.println("Ninguno de los dos puede votar");
    }

    }

    public static void main (String [] args){

    Votar Voto1 = new Votar (17,18);
    System.out.println("Votacion 1:");

    Voto1.Puedenvotar();

    Votar Voto2 = new Votar (16,17);

    System.out.println("Votacion 2:");

    Voto2.Puedenvotar();

    Votar Voto3 = new Votar (18,12);

    System.out.println("Votacion 3:");

    Voto3.Puedenvotar();

    Votar Voto4 = new Votar (19,22);

    System.out.println("Votacion 4:");

    Voto3.Puedenvotar();
    }

    }

    ——————
    La salida que obtengo es la siguiente:

    Votacion 1:
    Solo puede votar el votante 2
    Votacion 2:
    Ninguno de los dos puede votar
    Votacion 3:
    Votacion 4:

    Felicidades por el curso me esta siendo de grand ayuda ^^

    • este es tu código con algun cambio. El cambio principal ha sido en el metodo que te comprueba las edades, te habias liado un poco. Piensalo de esta manera: ¿Cuantas posibilidades vamos a tener?

      1.-que solo el votante 1 pueda votar
      2.-que solo el votante 2 pueda votar
      3.-que los dos voten
      4.-que ninguno

      La mejor opción es dejar para el último ese algunas de las dos opciones finales, o la 3 o la 4, ya que dejar alguna de las otras dos te supone hacer un if adicional para comprobar las edades. Poniendolo como te lo he puesto yo, las comprobaciones lñas haces con anterioridad y si la ejecución llega al último else es porque las comprobaciones anteriores no las cumple y por lo tanto ya queda libre de tener que comprobar nada, es algo obvio. Pero no ibas mal encaminado. Echalo un ojo haber que te parece.

      Por cierto en el main te he cambiado la última llamada al metodo ya que repetias votar3 en vez de utilizar votar4

      public class Votar {

      int edad1;
      int edad2;

      public Votar (int e1, int e2){

      edad1=e1;
      edad2=e2;
      }

      public void Puedenvotar ()
      {

      if (edad1>=18 && edad2>=18)
      {

      System.out.println(“Pueden votar los dos”);

      }else if (edad1>=18 && edad2<18)
      {
      System.out.println("Solo puede votar el votante 1");

      }else if (edad1<18 && edad2>=18)
      {
      System.out.println(“Sólo puede votar el votante 2”);

      }else{
      System.out.println(“Ninguno de los dos puede votar”);
      }

      }

      }

      ___Metodo de la clase de prueba________

      public static void main (String [] args){

      Votar Voto1 = new Votar (17,18);
      System.out.println(“Votacion 1:”);

      Voto1.Puedenvotar();

      Votar Voto2 = new Votar (16,17);

      System.out.println(“Votacion 2:”);

      Voto2.Puedenvotar();

      Votar Voto3 = new Votar (18,12);

      System.out.println(“Votacion 3:”);

      Voto3.Puedenvotar();

      Votar Voto4 = new Votar (19,22);

      System.out.println(“Votacion 4:”);

      Voto4.Puedenvotar();
      }
      }

      • Adrian

        ok, ya he entendido el fallo, muchas gracias por la respuesta tan rapida

        Un saludo

  • RedsDavid

    Hola!

    Tengo un proyecto donde hice el primer ejercicio (el del bucle), estoy haciendo el segundo pero no se como hacer para correrlo, cuando lo hago me corre los numeros de 0 a 10 del primer ejercicio! ¿Que debo hacer?.
    Gracias, espero su pronta respuesta!

  • Erik

    Buenas, soy nuevo en el mundillo de la programación y mi problema es que no consigo visualizar la manera de hacerlo, he mirado muchas páginas y sigo sin saber como, pero algo que tengo es que en el ejercicio del bucle como consigo determinar la cantidad de veces que se repita el bucle?
    Muchas gracias.

    • emanuel

      ciclo for: for(int i=0;i<11;i++) System.out.println(i);

      while: i=0; while (i<11) { System.out.println(i); i++;}

  • Pingback: Curso gratis de introducción de Java | Formación Online()