La forma más fácil de saber si un número es par o impar en Java es a través del operador módulo.
Sin embargo, en ocasiones los profesores (o alguien que está interesado en probar alternativas) solicitan el código para saber si un número es par o impar en Java pero sin usar el operador módulo ni divisiones.
En este post veremos cómo hacer eso usando Java y operaciones a nivel de bits.
Veamos primero el código y después la explicación. Básicamente queda así:
int numero = 5;
if((numero & 1) == 0){
System.out.println("Sí es par");
}else{
System.out.println("No es par");
}
Y ya más tarde lo puedes encerrar en una función o usarlo como quieras. Yo prefiero encerrar el comportamiento en una función y hacerlo simplificado:
public static boolean esPar(int numero) {
return (numero & 1) == 0;
}
De este modo el método devuelve un booleano y recibe el número que se va a probar.
Lo que estamos haciendo es la operación AND a nivel binario de ambos números. Es decir, del número en cuestión y del número 1. Si el resultado es 1, se dice que es impar. Si no, se dice que es par.
Una explicación detallada y con ejemplos puede ser vista aquí.
Para terminar este post de programación en Java para saber si un número es par o impar sin el operador módulo veamos un ejemplo:
/*
https://parzibyte.me/blog
*/import java.util.Scanner;
public class Main{
public static boolean esPar(int numero) {
return (numero & 1) == 0;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Ingresa un número: ");
int numero = sc.nextInt();
if (esPar(numero)) {
System.out.println("Sí es par");
} else {
System.out.println("No es par");
}
}
}
En este caso estamos solicitando un número al usuario y después le decimos si es par o impar. Todo esto sin usar el módulo %
. La salida es:
Como puedes ver, el programa funciona perfectamente. Si el post te ha gustado te dejo con más posts sobre Java.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.