La programación modular y el uso de funciones son fundamentales para escribir código limpio, reutilizable y fácil de mantener. A continuación, te presento una serie de ejercicios que te ayudarán a mejorar tus habilidades en estos aspectos esenciales de Java.
Ejercicio 1: Calculadora Modular
Crea una calculadora modular que realice las operaciones básicas (suma, resta, multiplicación y división) utilizando funciones separadas para cada operación.
import java.util.Scanner;
public class CalculadoraModular {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese el primer número: ");
double num1 = scanner.nextDouble();
System.out.print("Ingrese el segundo número: ");
double num2 = scanner.nextDouble();
System.out.println("Seleccione la operación: (+, -, *, /)");
char operacion = scanner.next().charAt(0);
double resultado = 0;
switch (operacion) {
case '+':
resultado = sumar(num1, num2);
break;
case '-':
resultado = restar(num1, num2);
break;
case '*':
resultado = multiplicar(num1, num2);
break;
case '/':
if (num2 != 0) {
resultado = dividir(num1, num2);
} else {
System.out.println("Error: División por cero.");
scanner.close();
return;
}
break;
default:
System.out.println("Operación no válida.");
scanner.close();
return;
}
System.out.println("El resultado de la operación es: " + resultado);
scanner.close();
}
public static double sumar(double a, double b) {
return a + b;
}
public static double restar(double a, double b) {
return a - b;
}
public static double multiplicar(double a, double b) {
return a * b;
}
public static double dividir(double a, double b) {
return a / b;
}
}
Ejercicio 2: Conversión de Temperaturas
Escribe un programa modular que convierta temperaturas entre Celsius y Fahrenheit. Crea funciones separadas para cada conversión.
import java.util.Scanner;
public class ConversionTemperaturas {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese la temperatura: ");
double temperatura = scanner.nextDouble();
System.out.println("Seleccione la conversión: (1: Celsius a Fahrenheit, 2: Fahrenheit a Celsius)");
int opcion = scanner.nextInt();
double resultado = 0;
switch (opcion) {
case 1:
resultado = celsiusAFahrenheit(temperatura);
break;
case 2:
resultado = fahrenheitACelsius(temperatura);
break;
default:
System.out.println("Opción no válida.");
scanner.close();
return;
}
System.out.println("La temperatura convertida es: " + resultado);
scanner.close();
}
public static double celsiusAFahrenheit(double celsius) {
return (celsius * 9/5) + 32;
}
public static double fahrenheitACelsius(double fahrenheit) {
return (fahrenheit - 32) * 5/9;
}
}
Ejercicio 3: Verificación de Palíndromos
Escribe una función que verifique si una cadena de texto es un palíndromo. Un palíndromo es una palabra o frase que se lee igual hacia adelante y hacia atrás.
import java.util.Scanner;
public class VerificacionPalindromo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese una cadena de texto: ");
String texto = scanner.nextLine();
if (esPalindromo(texto)) {
System.out.println("La cadena es un palíndromo.");
} else {
System.out.println("La cadena no es un palíndromo.");
}
scanner.close();
}
public static boolean esPalindromo(String texto) {
String textoLimpio = texto.replaceAll("\\s+", "").toLowerCase();
String textoReverso = new StringBuilder(textoLimpio).reverse().toString();
return textoLimpio.equals(textoReverso);
}
}
Ejercicio 4: Calculadora de Potencia y Raíz
Crea una calculadora modular que incluya funciones para calcular la potencia y la raíz cuadrada de un número.
import java.util.Scanner;
public class CalculadoraPotenciaRaiz {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese un número: ");
double num = scanner.nextDouble();
System.out.println("Seleccione la operación: (1: Potencia, 2: Raíz Cuadrada)");
int opcion = scanner.nextInt();
double resultado = 0;
switch (opcion) {
case 1:
System.out.print("Ingrese el exponente: ");
double exponente = scanner.nextDouble();
resultado = potencia(num, exponente);
break;
case 2:
resultado = raizCuadrada(num);
break;
default:
System.out.println("Opción no válida.");
scanner.close();
return;
}
System.out.println("El resultado de la operación es: " + resultado);
scanner.close();
}
public static double potencia(double base, double exponente) {
return Math.pow(base, exponente);
}
public static double raizCuadrada(double numero) {
return Math.sqrt(numero);
}
}
Ejercicio 5: Promedio de una Lista de Números
Escribe un programa modular que calcule el promedio de una lista de números ingresados por el usuario. Crea una función para calcular el promedio.
import java.util.Scanner;
public class PromedioLista {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese la cantidad de números: ");
int n = scanner.nextInt();
double[] numeros = new double[n];
System.out.println("Ingrese los números:");
for (int i = 0; i < n; i++) {
numeros[i] = scanner.nextDouble();
}
double promedio = calcularPromedio(numeros);
System.out.println("El promedio de los números es: " + promedio);
scanner.close();
}
public static double calcularPromedio(double[] numeros) {
double suma = 0;
for (double num : numeros) {
suma += num;
}
return suma / numeros.length;
}
}
Conclusión
Estos ejercicios te proporcionarán una base sólida para trabajar con programación modular y funciones en Java. Practicar estos conceptos es esencial para desarrollar tus habilidades de programación y te permitirá abordar problemas más complejos en el futuro. ¡Sigue practicando y explorando más sobre Java para convertirte en un programador más competente!
¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.
¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos.

NUESTRAS ÚLTIMAS PUBLICACIONES
- Propuestas de actividades avanzadas con XML, DTD, XPath y XSLT
- Apuntes extensos de XML y XSLT
- El momento IDEAL para impulsar tu FORMACIÓN y alcanzar tus Metas Académicas: LAS NAVIDADES.

- 20 ejercicios de funciones avanzadas en Python (al estilo de Ackermann)
- Cómo guardar una página web completa en MySQL con PHP (urlencode, BLOB y otras técnicas)
- 60 ejercicios de funciones recursivas en Python para la carrera de Informática
- SIMULACRO 2 – FP Programación de Videojuegos
- Simulacro de examen – FP Programación de Videojuegos
- ALERTA METEOROLÓGICA

ELIGE TU RED FAVORITA Y SÍGUENOS.
AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.
Contenido restringido





































































































































































































































































INFORMACIÓN SOBRE 







Comments are closed