En este post dejo algunos ejercicios con métodos en Java para practicar lo explicado en el post anterior en el que contaba como trabajar con métodos.

Como siempre os digo, existen varias soluciones posibles para resolver un mismo problema, unas más eficientes que otras. Aquí podéis ver una solución posible para cada ejercicio propuesto.

Ejercicio 1

Codifica el método operacion que falta en el siguiente programa.

1

2

3

4

5

6

7

8

public class UnMetodo {

    public static void main(String args[]) {

       double x =7, y = 9, resultado = 0;

       for (int i=1; i<5; i++){

          operacion (x,y,i);

       }

    }

}

Este método tiene tres parámetros:

  1. x: primer operando, de tipo double y valor hardcodeado de 7.
  2. y: segundo operando, de tipo double y valor hardcodeado de 9.
  3. i: indicador de la operación a realizar con los dos parámetros anteriores. Tenemos cuatro posibilidades:
    1. La suma: valor 1.
    2. La resta: valor 2.
    3. La multiplicación: valor 3.
    4. La división: valor 4.

El método ejecuta la operación indicada y presenta el resultado por pantalla, mostrando el valor de los dos operandos, la operación realizada y el resultado.

El método hay que desarrollarlo usando la sentencia de control switch.

Un posible código solución sería:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

    public class UnMetodo {

    public static void main(String args[]) {

       double x =7, y = 9, resultado = 0;

       for (int i=1; i<5; i++){

          operacion (x,y,i);

       }

    }

    static void operacion (double x, double y, int ope){

        switch (ope){

            case 1:

                System.out.println(«La suma de «+x+» y «+y+» es igual a «+(x+y));

            break;

            case 2:

                System.out.println(«La resta de «+x+» y «+y+» es igual a «+(x-y));

            break;

            case 3:

                System.out.println(«La multiplicación de «+x+» y «+y+» es igual a «+(x*y));

            break;

            case 4:

                System.out.println(«La división de «+x+» entre «+y+» es igual a «+(x/y));

            break;

        }

    }

}

Ejercicio 2

Desarrolla un programa java que pida al usuario que introduzca dos números enteros: la base y el exponente.

Los posibles valores de la base estarán entre 1 y 10 y los del exponente entre 1 y 4. Si los valores introducidos están fuera de rango, el programa debe indicarlo y no hacer nada más.

Si los valores están en rango, hay que calcular la base elevada al exponente, en un método aparte que utilice un bucle for para el cálculo. Y presentar el resultado por pantalla.

Una posible ejecución del programa sería:

Introduce la base (0 a 11):

7

Introduce el exponente:

3

Los valores están dentro de rango

La base: 7  —— El exponente: 3

 El resultado es 343

Y una posible solución sería:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

import java.util.Scanner;

 

public class Exponente {

    public static void main(String args[]) {

        Scanner sc1 = new Scanner(System.in);

        Scanner sc2 = new Scanner (System.in);

        System.out.println(«Introduce la base (0 a 11): «);

        int base = sc1.nextInt();

        System.out.println(«Introduce el exponente: «);

        int exp = sc2.nextInt();

        if (base>0 && base <11 && exp>0 && exp<5){

            System.out.println («Los valores estan dentro de rango»);

            System.out.println («La base: «+ base + »  —— El exponente: «+ exp);

            System.out.println (» El resultado es «+baseExponente (base,exp));

        }else {

            System.out.println(«Al menos uno de los valores está fuera de rango»);

        }

        sc1.close();sc2.close();

    }

    private static int baseExponente (int b, int e){

 int result = 1;

            for (int i=1;i<=e;i++){

                result = result * b;

            }

            return result;

    }

}

 

NOTA:

Este post es parte de la colección “Java” que reproduce los apuntes de la clase que imparto sobre el tema en ESIC. Puedes ver el índice de esta colección aquí.