Resultados. Ejercicios Prácticos. Tema 3. Clases y objetos

  Ejercicio 1.


  Ejercicio 2.


  Ejercicio 3.

  Ejercicio 4.

    • Solución:

      /**
       * Dados dos reales devolver el menor de los dos
       * ¿Qué pasa si son iguales? -> Devuelve b
       */
      double menorDouble(double a, double b)
      {
        if (a<b) return a;
        else return b;
      }

  Ejercicio 5.

  • Solución:

    /**
      * Suponga que está escribiendo un programa para un ordenador de una caja de   * una tienda.
      * Tiene que escribir un método que reciba el total de la compra efectuada y   * el importe que entrega el cliente.
      * El método mostrará por pantalla "falta importe" cuando la cantidad   
     
    * entregada sea inferior al total de la compra.
      * "gracias por su compra" Si el importe entregado es exacto al de la compra.   * Y, "su cambio es X", donde X es el
      * cambio a devolver si la cantidad entregada supera al total de la compra.
    */
    void cambioCaja(double total, double entregado)
    {
      if (total == entregado)
       System.out.println("Gracias por su compra.");
      else if (total > entregado)
       System.out.println("Falta importe.");
      else
       System.out.println("Su cambio es: " + Double.toString(entregado - total));
    }

  Ejercicio 6.

    • Solución:

      /**
        * Suponga que se presenta por pantalla un menú de usuario. Con las opciones:
        * 1.- Seleccionar cliente.
        * 2.- Insertar cliente.
        * 3.- Editar cliente.
        * 4.- Borrar cliente.
        * 5.- Salir.
        * Se pide implementar un método que reciba un caracter correspondiente a la opción   * seleccionada
        * por el usuario y que imprima por pantalla una cadena significativa de la opción   *que ha seleccionado.
      */
      void opcionMenu(char opcion)
      {
        switch (opcion)
        {
          case '1':
            System.out.println("Seleccionar cliente.");
            break;
          case '2':
            System.out.println("Insertar cliente.");
            break;
          case '3':
            System.out.println("Editar cliente.");
            break;
          case '4':
            System.out.println("Borrar cliente.");
            break;
          case '5':
            System.out.println("Salir cliente.");
            break;
          default:
            System.out.println("Opcion no reconocida");
        }
      }

  Ejercicio 7.
  • Solución:

    /**
      * traductor de días de la semana.
      * Escribir un método que reciba la inicial del día de la semana y devuelva   * el nombre completo del día.
    */
    void diaSemana(char dia)
    {
      switch (dia)
      {
        case 'L':
          System.out.println("Lunes");
          break;
        case 'l':
          System.out.println("Lunes");
          break;
        case 'M':
          System.out.println("Martes");
          break;
        case 'm':
          System.out.println("Martes");
          break;
        case 'X':
          System.out.println("Miercoles");
          break;
        case 'x':
          System.out.println("Miercoles");
          break;
        case 'J':
          System.out.println("Jueves");
          break;
        case 'j':
          System.out.println("Jueves");
          break;
        case 'V':
          System.out.println("Viernes");
          break;
        case 'v':
          System.out.println("Viernes");
          break;
        case 'S':
          System.out.println("Sabado");
          break;
        case 's':
          System.out.println("Sabado");
          break;
        case 'D':
          System.out.println("Domingo");
          break;
        case 'd':
          System.out.println("Domingo");
          break;
        default:
          System.out.println("Dia incorrecto");
        }
    }

  Ejercicio 8.
  • Solución:

/**
  * Escriba un método que en base a una palabra de entrada en inglés   
  * permita mostrar
  * su traducción al castellano. De momento, sólo se podrán traducir los   * términos:
  * computer, mouse y keyboard
*/
void traductor(String termino)
{
  if (termino.equals("computer"))
    System.out.println("ordenador");
  else if (termino.equals("mouse"))
    System.out.println("raton");
  else if (termino.equals("keyboard"))
    System.out.println("teclado");
  else
    System.out.println("Termino no reconocido.");

  // ¿Se podría utilizar un switch?
}

  Ejercicio 9.
  • Solución:
 

/**
* Escriba un método que calcule la cuantía económica que supone un exceso de
* velocidad en una autopista. Las reglas son las siguientes:
* - De 0 a 60Kms/h: multa de 300 euros por velocidad por debajo de límites.
* - Mayor que 60 Kms/h hasta 120 kms/h: no hay multa.
* - Mayor que 120 Kms/h y menor igual que 140 Kms/h, multa de 300 euros.
* - Ente 140 y 180, multa de 600 euros.
* - Mayor que 180, 1000 euros de multa.
* Nota: Estos valores son inventados.
*/
void calculoMulta(int velocidad)
{
  if ((velocidad > 0) && (velocidad <=60))
    System.out.println("300 euros por velocidad bajo límites");
  else if ((velocidad>60) && (velocidad<= 120))
    System.out.println("Sin multa");
  else if ((velocidad>120) && (velocidad<=140))
    System.out.println("300 euros por exceso de velocidad");
  else if ((velocidad>140) && (velocidad<=180))
    System.out.println("600 euros por exceso de velocidad");
  else
    System.out.println("1000 euros por exceso de velocidad");
}


  Ejercicio 10
  • Solución:

 

class Figura
{
  private int numLados;

  /**
   * Constructor de la clase.
   */
  Figura (int numLados)
  {
    this.numLados = numLados;
  }

  boolean equals(Figura f)
  {
   if (f.numLados == this.numLados)
     return true;
   else
     return false;
   // Más elegante escribir; return (f.numLados = this.numLados);
  }
} // class Figura

/**
  * Dados dos objetos Figura, donde simplemente, una figura está
  * representada por el número de lados. Crear un método que reciba dos
  * objetos de la clase Figura y determine si son iguales.
  */
boolean figurasIguales(Figura figura1, Figura figura2)
{
  return (figura1.equals(figura2));
}