Introducción
El operador módulo es un operador matemático que se utiliza para encontrar el residuo de la división de dos números. Este operador está representado por el símbolo %. En Java, el operador módulo devuelve el residuo de dividir el primer número entre el segundo número. Esta práctica te guiará a través de algunos de los casos de uso de este operador.
Ejemplo de operador módulo
En este paso, veremos la sintaxis básica del operador módulo y cómo se puede utilizar en variables enteras y de punto flotante. También veremos cómo maneja los números negativos.
- Crea un nuevo archivo llamado
ModuloOperatorDemo.javausando el comandotouch. - Abre el archivo en un editor de texto como
nano. - Agrega el siguiente código al archivo:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
System.out.println("10 % 3 = " + 10 % 3);
System.out.println("3 % 10 = " + 3 % 10);
System.out.println("10.0 % 3.0 = " + 10.0 % 3.0);
System.out.println("10.0 % 3 = " + 10.0 % 3);
System.out.println("-10 % 3 = " + -10 % 3);
}
}
- Guarda el archivo y sale del editor de texto.
- Compila el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - El código debe mostrar la siguiente salida:
10 % 3 = 1
3 % 10 = 3
10.0 % 3.0 = 1.0
10.0 % 3 = 1.0
-10 % 3 = -1
Necesidad del operador módulo
En este paso, discutiremos por qué se necesita el operador módulo al utilizar el operador de división.
- Abre el archivo
ModuloOperatorDemo.javaen un editor de texto. - Elimina el código existente y reemplázalo con el siguiente código:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
int dividend = 10;
int divisor = 3;
int remainder = dividend - (divisor * (dividend/divisor));
System.out.print("The remainder is: " + remainder);
}
}
- Guarda el archivo y sale del editor de texto.
- Compila el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - El código debe mostrar la siguiente salida:
The remainder is: 1
Cuando el dividendo o el divisor no es un entero
En este paso, veremos cómo el operador módulo puede manejar números decimales.
- Abre el archivo
ModuloOperatorDemo.javaen un editor de texto. - Elimina el código existente y reemplázalo con el siguiente código:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
double dividend = 10;
int divisor = 3;
double remainder = dividend - (divisor * (dividend/divisor));
System.out.print("The remainder is: " + remainder);
}
}
- Guarda el archivo y sale del editor de texto.
- Compila el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - El código debe mostrar la siguiente salida:
The remainder is: 0.0
- Modifica el código en el archivo de la siguiente manera:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
double dividend = 10;
int divisor = 3;
double remainder = dividend % divisor;
System.out.print("The remainder is: " + remainder);
}
}
- Guarda el archivo y sale del editor de texto.
- Vuelve a compilar el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - Ahora el código debe mostrar la siguiente salida:
The remainder is: 1.0
ArithmeticException causada por el operador módulo
En este paso, veremos cómo el operador módulo lanza una excepción si el divisor es cero.
- Abre el archivo
ModuloOperatorDemo.javaen un editor de texto. - Elimina el código existente y reemplázalo con el siguiente código:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
System.out.print("The remainder is: " + 10 % 0);
}
}
- Guarda el archivo y sale del editor de texto.
- Compila el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - El código debe lanzar una excepción
ArithmeticExceptionde la siguiente manera:
Exception in thread "main" java.lang.ArithmeticException: / by zero
at ModuloOperatorDemo.main(ModuloOperatorDemo.java:3)
Encontrar números pares
En este paso, veremos cómo se puede utilizar el operador módulo para comprobar si un número es par o impar.
- Abre el archivo
ModuloOperatorDemo.javaen un editor de texto. - Elimina el código existente y reemplázalo con el siguiente código:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
int[] arr = {7, 5, 2, 4, 6, 19, 18, 25, 22};
for(int i=0; i<arr.length; i++)
{
int num = arr[i];
if((num % 2) == 0)
System.out.println(num + " es par.");
else
System.out.println(num + " NO es par.");
}
}
}
- Guarda el archivo y sale del editor de texto.
- Compila el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - El código debe mostrar la siguiente salida:
7 NO es par.
5 NO es par.
2 es par.
4 es par.
6 es par.
19 NO es par.
18 es par.
25 NO es par.
22 es par.
Convertir segundos a minutos y segundos
En este paso, veremos cómo se puede utilizar el operador módulo para convertir segundos en minutos y segundos.
- Abre el archivo
ModuloOperatorDemo.javaen un editor de texto. - Elimina el código existente y reemplázalo con el siguiente código:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
int seconds = 401;
int minutes = seconds / 60;
int remainingSeconds = seconds % 60;
System.out.print(seconds + " segundos es igual a " + minutes + " minutos " + remainingSeconds + " segundos");
}
}
- Guarda el archivo y sale del editor de texto.
- Compila el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - El código debe mostrar la siguiente salida:
401 segundos es igual a 6 minutos 41 segundos
Obteniendo los dígitos individuales de un entero
En este paso, veremos cómo se puede utilizar el operador módulo para extraer dígitos individuales de un número.
- Abre el archivo
ModuloOperatorDemo.javaen un editor de texto. - Elimina el código existente y reemplázalo con el siguiente código:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
int num = 7912064;
while(num > 0)
{
int lastDigit = num % 10;
num = num / 10;
System.out.print(lastDigit + " ");
}
}
}
- Guarda el archivo y sale del editor de texto.
- Compila el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - El código debe mostrar la siguiente salida:
4 6 0 2 1 9 7
Repetir algo cada n-ésima vez
En este paso, veremos cómo se puede utilizar el operador módulo para repetir una acción cada n-ésima vez.
- Abre el archivo
ModuloOperatorDemo.javaen un editor de texto. - Elimina el código existente y reemplázalo con el siguiente código:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
for(int i = 1; i <= 30; i++)
{
if(i % 5 == 0)
System.out.println("Haz algo");
}
}
}
- Guarda el archivo y sale del editor de texto.
- Compila el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - El código debe mostrar la siguiente salida:
Haz algo
Haz algo
Haz algo
Haz algo
Haz algo
Haz algo
Restringir un número a un cierto rango
En este paso, veremos cómo se puede utilizar el operador módulo para limitar un número a un cierto rango.
- Abre el archivo
ModuloOperatorDemo.javaen un editor de texto. - Elimina el código existente y reemplázalo con el siguiente código:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
String[] dayNames = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
int dayOfTheMonth1 = 21;
String dayName1 = dayNames[(dayOfTheMonth1 - 1) % 7];
int dayOfTheMonth2 = 12;
String dayName2 = dayNames[(dayOfTheMonth2 - 1) % 7];
System.out.println(dayOfTheMonth1 + " ocurre el " + dayName1);
System.out.println(dayOfTheMonth2 + " ocurre el " + dayName2);
}
}
- Guarda el archivo y sale del editor de texto.
- Compila el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - El código debe mostrar la siguiente salida:
21 ocurre el domingo
12 ocurre el viernes
Hacer que un número sea completamente divisible por otro número
En este paso, veremos cómo se puede utilizar el operador módulo para hacer que un número sea completamente divisible por otro número.
- Abre el archivo
ModuloOperatorDemo.javaen un editor de texto. - Elimina el código existente y reemplázalo con el siguiente código:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
int X = 291;
int Y = 17;
int remainder = X % Y;
X = X - remainder;
System.out.println("El número mínimo que se debe restar es: " + remainder);
System.out.println("El número después de la resta es: " + X);
}
}
- Guarda el archivo y sale del editor de texto.
- Compila el código usando el comando
javac ModuloOperatorDemo.java. - Ejecuta el código usando el comando
java ModuloOperatorDemo. - El código debe mostrar la siguiente salida:
El número mínimo que se debe restar es: 2
El número después de la resta es: 289
Resumen
El operador módulo es un operador matemático que se utiliza para encontrar el residuo de la división de dos números. En este laboratorio, cubrimos varios casos de uso del operador módulo, como comprobar si un número es par, convertir segundos a minutos y segundos, extraer dígitos individuales, repetir una acción cada n-ésima vez, limitar un número a un cierto rango y hacer que un número sea completamente divisible por otro número. Tenga en cuenta que al usar el operador módulo, el divisor no puede ser cero, ya que generará una ArithmeticException.



