Ejercicios propuestos y resueltos métodos y funciones de Java

Hola a todos, hoy os dejo una serie de ejercicios de Java para practicar todo aquello que hemos explicado en anteriores posts, haciendo hincapié en los métodos y funciones.

Todos los ejercicios que proponemos estan resueltos en este mismo post, intenta hacerlo por ti mismo y si te quedas atascado puedes mirar la solución. Recuerda, que no tiene por que estar igual tu solución con la del post, el objetivo es que aprendas no que me copies la solución.

El nombre de la aplicación es de tu elección. Crea un proyecto en Java por ejercicio.

Colocare en las soluciones algunos comentarios para que sean más fácilmente entendible. Te recomiendo que uses mensajes de trazas, donde te sean necesarios. Si tienes problemas también puedes usar el depurador.

Aquí tienes todos los posts relacionados con Java:

Curso Java

También tenemos el curso en formato video:

Si tienes alguna duda, recuerda que puedes consultarnos escribiendo un comentario en este post o enviándonos un e-mail a administrador@discoduroderoer.es




1) Crea una aplicación que nos calcule el área de un circulo, cuadrado o triangulo. Pediremos que figura queremos calcular su área y según lo introducido pedirá los valores necesarios para calcular el área. Crea un método por cada figura para calcular cada área, este devolverá un número real. Muestra el resultado por pantalla

Aquí te mostramos que necesita cada figura:

  • Circulo: (radio^2)*PI
  • Triangulo: (base * altura) / 2
  • Cuadrado: lado * lado
Spoiler

2) Crea una aplicación que nos genere una cantidad de números enteros aleatorios que nosotros le pasaremos por teclado. Crea un método donde pasamos como parámetros entre que números queremos que los genere, podemos pedirlas por teclado antes de generar los números. Este método devolverá un número entero aleatorio. Muestra estos números por pantalla.

Spoiler




3) Crea una aplicación que nos pida un número por teclado y con un método se lo pasamos por parámetro para que nos indique si es o no un número primo, debe devolver true si es primo sino false.

Un número primo es aquel solo puede dividirse entre 1 y si mismo. Por ejemplo: 25 no es primo, ya que 25 es divisible entre 5, sin embargo, 17 si es primo.

Un buen truco para calcular la raíz cuadrada del numero e ir comprobando que si es divisible desde ese numero hasta 1.

Spoiler




4) Crea una aplicación que nos calcule el factorial de un número pedido por teclado, lo realizara mediante un método al que le pasamos el número como parámetro. Para calcular el factorial, se multiplica los números anteriores hasta llegar a uno. Por ejemplo, si introducimos un 5, realizara esta operación 5*4*3*2*1=120.

Spoiler

5) Crea una aplicación que nos convierta un número en base decimal a binario. Esto lo realizara un método al que le pasaremos el numero como parámetro, devolverá un String con el numero convertido a binario. Para convertir un numero decimal a binario, debemos dividir entre 2 el numero y el resultado de esa división se divide entre 2 de nuevo hasta que no se pueda dividir mas, el resto que obtengamos de cada división formara el numero binario, de abajo a arriba.

Veamos un ejemplo: si introducimos un 8 nos deberá devolver 1000 decimalabinario

Spoiler

6) Crea una aplicación que nos cuente el número de cifras de un número entero positivo (hay que controlarlo) pedido por teclado. Crea un método que realice esta acción, pasando el número por parámetro, devolverá el número de cifras.

Spoiler

7) Crea un aplicación que nos convierta una cantidad de euros introducida por teclado a otra moneda, estas pueden ser a dolares, yenes o libras. El método tendrá como parámetros, la cantidad de euros y la moneda a pasar que sera una cadena, este no devolverá ningún valor, mostrara un mensaje indicando el cambio (void).

El cambio de divisas son:

  • 0.86 libras es un 1 €
  • 1.28611 $ es un 1 €
  • 129.852 yenes es un 1 €
Spoiler

También os dejamos los vídeos que hemos realizado en Youtube.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

6 comentarios

  1. salvador

    hey bro quisiera saber si pudes ayudarme con un programa en eclipse que pida la fecha de nacimiento en formato numerico y devuelva cuantos dias tiene vividos porfa :c

  2. Natalia

    hola. por favor me puede ayudar con este ejercicio. Una empresa que contrata personal requiere determinar la edad de las personas que solicitan trabajo pero cuando se le realiza la entrevista no se pregunta. Realice un programa en Java que permita solucionar este problema.

  3. diego

    Escriba un programa que pida una letra minúscula, el programa deberá imprimir si la letra es una vocal (a,e,i,o,u), semivocal (y) o una consonante.

  4. ana

    en el ejercicio 7 a la hora de compilar el switch me da un error ya que dice que necesita un int y no string en esto soy muy nueva y he intentado de corregirlo, no se si alguien me da una idea…

  5. Daniela

    Declarar las siguientes variables de tipo entero (int) con los identificadores: _13a, 25yZ, nombr3,
    my_var, goto, name_, return. ¿Cuáles de los identificadores anteriores no son válidos?, explicar el por
    qué no son correctos.
    necesito que me ayuden por fa!

  6. Jorge

    He decidido hacer de forma más extensa lo del cambio de divisas. Me gustaría la opinión de alguien que sepa:
    import javax.swing.*;
    import java.text.DecimalFormat;

    public class ConversionDeDivisas {
    public static void main (String[] args){
    DecimalFormat df = new DecimalFormat(«#.00»);
    //Declaración de las arrays
    String[] opciones = {«€», «¥», «$», «£»};
    String[] opciones1 = {«¥», «$», «£»};
    String[] opciones2 = {«€», «$», «£»};
    String[] opciones3 = {«€», «¥», «£»};
    String[] opciones4 = {«€», «¥», «$»};
    //Menús de selección
    //DIVISA QUE QUIERO TRANSFORMAR A OTRA
    int opcion = JOptionPane.showOptionDialog(null,»¿Qué divisa tiene usted?»,»Programa de JCA», JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,null, opciones, null);
    //ADVERTENCIA SOBRE LOS DECIMALES
    JOptionPane.showMessageDialog(null,»Si desea utilizar números decimales, separelos con ‘.’ y no con ‘,'», «IMPORTANTE», JOptionPane.WARNING_MESSAGE, null);
    //MENU DE ELECCION PARA PASAR EUROS A OTRA DIVISA
    if (opcion==0) {
    int opcion1 = JOptionPane.showOptionDialog(null, «¿A qué divisa quiere hacer el cambio?», «Cambio de € a», JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, opciones1, null);
    if (opcion1==0){
    JOptionPane.showMessageDialog(null, («€ equivalen a «+df.format(euro1())+»¥»));
    }
    if (opcion1==1){
    JOptionPane.showMessageDialog(null, («€ equivalen a «+df.format(euro2())+»$»));
    }
    if (opcion1==2){
    JOptionPane.showMessageDialog(null, («€ equivalen a «+df.format(euro3())+»£»));
    }
    }
    //MENU DE ELECCION PARA PASAR YENES A OTRA DIVISA
    if (opcion==1) {
    int opcion2 = JOptionPane.showOptionDialog(null, «¿A qué divisa quiere hacer el cambio?», «Cambio de ¥ a», JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, opciones2, null);
    if (opcion2==0){
    JOptionPane.showMessageDialog(null, («¥ equivalen a «+df.format(yen1())+»€»));
    }
    if (opcion2==1){
    JOptionPane.showMessageDialog(null, («¥ equivalen a «+df.format(yen2())+»$»));
    }
    if (opcion2==2){
    JOptionPane.showMessageDialog(null, («¥ equivalen a «+df.format(yen3())+»£»));
    }
    }
    //MENU DE ELECCION PARA PASAR DOLARES A OTRA DIVISA
    if (opcion==2) {
    int opcion3 = JOptionPane.showOptionDialog(null, «¿A qué divisa quiere hacer el cambio?», «Cambio de $ a», JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, opciones3, null);
    if (opcion3==0){
    JOptionPane.showMessageDialog(null, («$ equivalen a «+df.format(dolar1())+»€»));
    }
    if (opcion3==1){
    JOptionPane.showMessageDialog(null, («$ equivalen a «+df.format(dolar2())+»¥»));
    }
    if (opcion3==2){
    JOptionPane.showMessageDialog(null, («$ equivalen a «+df.format(dolar3())+»£»));
    }
    }
    //MENU DE ELECCION PARA PASAR LIBRAS A OTRA DIVISA
    if (opcion==3) {
    int opcion4 = JOptionPane.showOptionDialog(null, «¿A qué divisa quiere hacer el cambio?», «Cambio de £ a», JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, opciones4, null);
    if (opcion4==0){
    JOptionPane.showMessageDialog(null, («£ equivalen a «+df.format(libra1())+»€»));
    }
    if (opcion4==1){
    JOptionPane.showMessageDialog(null, («£ equivalen a «+df.format(libra2())+»¥»));
    }
    if (opcion4==2){
    JOptionPane.showMessageDialog(null, («£ equivalen a «+df.format(libra3())+»$»));
    }
    }
    System.exit(0);
    }
    //Funciones para el apartado euros
    //Pasa de euros a yenes
    private static double euro1(){
    double resultado;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo = Double.parseDouble(num1);
    resultado = saldo * 129.852;
    return resultado;
    }
    //Pasa de euros a dolares
    private static double euro2(){
    double resultado;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo = Double.parseDouble(num1);
    resultado = saldo * 1.28611;
    return resultado;
    }
    //Pasa de euros a libras
    private static double euro3(){
    double resultado;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo = Double.parseDouble(num1);
    resultado = saldo * 0.86;
    return resultado;
    }
    //Funciones para el apartado yenes
    //Pasa de yenes a euros
    private static double yen1(){
    double resultado;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo = Double.parseDouble(num1);
    resultado = saldo / 129.852;
    return resultado;
    }
    //Pasa de yenes a euros y lo pasa a dolares
    private static double yen2(){
    double resultado1;
    double resultado2;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo1 = Double.parseDouble(num1);
    double saldo2 = saldo1 / 129.852;
    resultado2 = saldo2 * 1.28611;
    return resultado2;
    }
    //Pasa de yenes a euros y lo pasa a libras
    private static double yen3(){
    double resultado;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo1 = Double.parseDouble(num1);
    double saldo2 = saldo1 / 129.852;
    resultado = saldo2 * 0.86;
    return resultado;
    }
    //Funciones para el apartado dolares
    //Pasa de dolares a euros
    private static double dolar1(){
    double resultado;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo1 = Double.parseDouble(num1);
    resultado = saldo1 / 1.28611;
    return resultado;
    }
    //Pasa de dolares a euros y hace el cambio a yenes
    private static double dolar2(){
    double resultado1;
    double resultado2;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo1 = Double.parseDouble(num1);
    resultado1 = saldo1 / 1.28611;
    resultado2 = resultado1 * 129.852;
    return resultado2;
    }
    //Pasa de dolares a euros y hace el cambio a libras
    private static double dolar3(){
    double resultado1;
    double resultado2;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo1 = Double.parseDouble(num1);
    resultado1 = saldo1 / 1.28611;
    resultado2 = resultado1 * 0.86;
    return resultado2;
    }
    //Funciones para el apartado libras
    //De libras a euros
    private static double libra1(){
    double resultado;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo1 = Double.parseDouble(num1);
    resultado = saldo1 / 0.86;
    return resultado;
    }
    //Pasa de libras a euros y hace el cambio a yenes
    private static double libra2(){
    double resultado1;
    double resultado2;
    String num1=JOptionPane.showInputDialog(null,»Indique su saldo:»,»Cantidad»,JOptionPane.INFORMATION_MESSAGE);
    double saldo1 = Double.parseDouble(num1);
    resultado1 = saldo1 / 0.86;
    resultado2 = resultado1 * 129.852;
    return resultado2;
    }
    //Pasa de libras a euros y hace el cambio a dolares
    private static double libra3() {
    double resultado1;
    double resultado2;
    String num1 = JOptionPane.showInputDialog(null, «Indique su saldo:», «Cantidad», JOptionPane.INFORMATION_MESSAGE);
    double saldo1 = Double.parseDouble(num1);
    resultado1 = saldo1 / 0.86;
    resultado2 = resultado1 * 1.28611;
    return resultado2;
    }
    }

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539