Introdução
O operador módulo (Modulo operator) é um operador matemático utilizado para encontrar o resto da divisão de dois números. Este operador é representado pelo símbolo %. Em Java, o operador módulo retorna o resto da divisão do primeiro número pelo segundo número. Este Lab irá guiá-lo através de alguns dos casos de uso deste operador.
Exemplo do Operador Módulo
Neste passo, veremos a sintaxe básica do operador módulo e como ele pode ser usado em variáveis inteiras e de ponto flutuante. Também veremos como ele lida com números negativos.
- Crie um novo arquivo chamado
ModuloOperatorDemo.javausando o comandotouch. - Abra o arquivo em um editor de texto como
nano. - Adicione o seguinte código ao arquivo:
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);
}
}
- Salve o arquivo e saia do editor de texto.
- Compile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código deve exibir o seguinte:
10 % 3 = 1
3 % 10 = 3
10.0 % 3.0 = 1.0
10.0 % 3 = 1.0
-10 % 3 = -1
Necessidade do Operador Módulo
Neste passo, discutiremos por que o operador módulo é necessário ao usar o operador de divisão.
- Abra o arquivo
ModuloOperatorDemo.javaem um editor de texto. - Remova o código existente e substitua-o pelo seguinte 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);
}
}
- Salve o arquivo e saia do editor de texto.
- Compile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código deve exibir o seguinte:
The remainder is: 1
Quando o Dividendo ou o Divisor não é um Inteiro
Neste passo, veremos como o operador módulo pode lidar com números decimais.
- Abra o arquivo
ModuloOperatorDemo.javaem um editor de texto. - Remova o código existente e substitua-o pelo seguinte 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);
}
}
- Salve o arquivo e saia do editor de texto.
- Compile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código deve exibir o seguinte:
The remainder is: 0.0
- Modifique o código no arquivo da seguinte forma:
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);
}
}
- Salve o arquivo e saia do editor de texto.
- Recompile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código agora deve exibir o seguinte:
The remainder is: 1.0
ArithmeticException causada pelo Operador Módulo
Neste passo, veremos como o operador módulo lança uma exceção se o divisor for zero.
- Abra o arquivo
ModuloOperatorDemo.javaem um editor de texto. - Remova o código existente e substitua-o pelo seguinte código:
public class ModuloOperatorDemo
{
public static void main(String[] args)
{
System.out.print("The remainder is: " + 10 % 0);
}
}
- Salve o arquivo e saia do editor de texto.
- Compile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código deve lançar uma
ArithmeticExceptionda seguinte forma:
Exception in thread "main" java.lang.ArithmeticException: / by zero
at ModuloOperatorDemo.main(ModuloOperatorDemo.java:3)
Encontrar Números Pares
Neste passo, veremos como o operador módulo pode ser usado para verificar se um número é par ou ímpar.
- Abra o arquivo
ModuloOperatorDemo.javaem um editor de texto. - Remova o código existente e substitua-o pelo seguinte 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 + " is even.");
else
System.out.println(num + " is NOT even.");
}
}
}
- Salve o arquivo e saia do editor de texto.
- Compile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código deve exibir o seguinte:
7 is NOT even.
5 is NOT even.
2 is even.
4 is even.
6 is even.
19 is NOT even.
18 is even.
25 is NOT even.
22 is even.
Converter Segundos em Minutos e Segundos
Neste passo, veremos como o operador módulo pode ser usado para converter segundos em minutos e segundos.
- Abra o arquivo
ModuloOperatorDemo.javaem um editor de texto. - Remova o código existente e substitua-o pelo seguinte 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 + " seconds is equal to " + minutes +" minutes " + remainingSeconds + " seconds");
}
}
- Salve o arquivo e saia do editor de texto.
- Compile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código deve exibir o seguinte:
401 seconds is equal to 6 minutes 41 seconds
Extraindo Dígitos Individuais de um Inteiro
Neste passo, veremos como o operador módulo pode ser usado para extrair dígitos individuais de um número.
- Abra o arquivo
ModuloOperatorDemo.javaem um editor de texto. - Remova o código existente e substitua-o pelo seguinte 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 + " ");
}
}
}
- Salve o arquivo e saia do editor de texto.
- Compile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código deve exibir o seguinte:
4 6 0 2 1 9 7
Repetir algo a cada 'n' vezes
Neste passo, veremos como o operador módulo pode ser usado para repetir uma ação a cada n vezes.
- Abra o arquivo
ModuloOperatorDemo.javaem um editor de texto. - Remova o código existente e substitua-o pelo seguinte 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("Do Something");
}
}
}
- Salve o arquivo e saia do editor de texto.
- Compile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código deve exibir o seguinte:
Do Something
Do Something
Do Something
Do Something
Do Something
Do Something
Restringir um Número a um Intervalo Específico
Neste passo, veremos como o operador módulo pode ser usado para limitar um número a um intervalo específico.
- Abra o arquivo
ModuloOperatorDemo.javaem um editor de texto. - Remova o código existente e substitua-o pelo seguinte 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 + " occurs on " + dayName1);
System.out.println(dayOfTheMonth2 + " occurs on " + dayName2);
}
}
- Salve o arquivo e saia do editor de texto.
- Compile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código deve exibir o seguinte:
21 occurs on Sunday
12 occurs on Friday
Tornar um número completamente divisível por outro número
Neste passo, veremos como o operador módulo pode ser usado para tornar um número completamente divisível por outro número.
- Abra o arquivo
ModuloOperatorDemo.javaem um editor de texto. - Remova o código existente e substitua-o pelo seguinte 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("The minimum number to subtract is: " + remainder);
System.out.println("The number after subtraction is: " + X);
}
}
- Salve o arquivo e saia do editor de texto.
- Compile o código usando o comando
javac ModuloOperatorDemo.java. - Execute o código usando o comando
java ModuloOperatorDemo. - O código deve exibir o seguinte:
The minimum number to subtract is: 2
The number after subtraction is: 289
Resumo
O operador módulo é um operador matemático usado para encontrar o resto da divisão de dois números. Neste laboratório, cobrimos vários casos de uso do operador módulo, como verificar se um número é par, converter segundos em minutos e segundos, extrair dígitos individuais, repetir uma ação a cada n-ésima vez, restringir um número a um intervalo específico e tornar um número completamente divisível por outro número. Lembre-se de que, ao usar o operador módulo, o divisor não pode ser zero, pois isso lançará uma ArithmeticException.



