En este post de programación con Java vamos a resolver un ejercicio que dice así:
Escribe un método que después de introducir N enteros, calcule e imprima el producto de los números pares. Para saber si el número es par, deberás diseñar un método (no usar módulo).
Así que el programa pide dos cosas. La primera es sacar el producto de todos los números pares, y la segunda es que para saber si un número es par no se debe usar el operador módulo.
Vamos a ver cómo se resuelve este ejercicio de programación.
Para el número par
Antes de pasar a resolver el problema específico veamos cómo resolver lo del número par. Si quieres usar el operador módulo mira este post, y si quieres usar operaciones a nivel de bits mira este post.
Voy a continuar con el ejercicio suponiendo que ya conoces cómo funciona cada algoritmo.
Solución del ejercicio
Recordemos que el producto de números es básicamente la multiplicación de los mismos. Así que el producto de 2, 4 y 8 es 64 porque 2 x 4 x 8
es 64
.
Entonces vamos a iniciar la variable del resultado en 1, y por cada número escaneado que sea par, vamos a multiplicar el valor de la misma y asignarle el resultado. En código se entenderá mejor.
Como el ejercicio solicita hacer esto desde un método, el código queda así:
public static void productoDePares() {
Scanner sc = new Scanner(System.in);
int numero = 1;
int producto = 1;
while (numero != 0) {
System.out.println("Escribe un número (escribe 0 si quieres finalizar)");
numero = sc.nextInt();
if (numero != 0 && esPar(numero)) {
producto *= numero;
}
}
System.out.println("Producto de los números pares: " + producto);
}
Si te fijas en el código puedes ver que se van a solicitar números de manera infinita, hasta que el número en cuestión sea 0. Mientras no sea cero y el número sea par, se va a ir multiplicando y almacenando el resultado.
Cuando la ejecución termine vamos a imprimir el resultado. Y así es como se resuelve el ejercicio.
Código completo
Ya te mostré el método, pero no el código completo, ejecutable y probado. Queda así:
/*
https://parzibyte.me/blog
*/
import java.util.Scanner;
public class Main{
public static void productoDePares() {
Scanner sc = new Scanner(System.in);
int numero = 1;
int producto = 1;
while (numero != 0) {
System.out.println("Escribe un número (escribe 0 si quieres finalizar)");
numero = sc.nextInt();
if (numero != 0 && esPar(numero)) {
producto *= numero;
}
}
System.out.println("Producto de los números pares: " + producto);
}
public static boolean esPar(int numero) {
// Puedes usar este método o el de operaciones de bits.
// https://parzibyte.me/blog/2021/03/01/java-numero-par-sin-modulo/
return numero % 2 == 0;
}
public static void main(String[] args) {
productoDePares();
}
}
Así es como se termina este post. Por aquí te dejo más posts sobre programación en Java.