Módulo em Java
-
Use
Math.floorMod()
para calcular o mod de dois números em Java -
Use o operador
%
para calcular o mod de dois números em Java
O módulo ou operador de módulo retorna o restante dos dois inteiros após a divisão. É utilizado em tarefas simples, como descobrir um número par ou não, e em tarefas mais complexas, como rastrear a próxima posição de escrita em um array circular.
Use Math.floorMod()
para calcular o mod de dois números em Java
A função Math.floorMod(a,b)
aceita dois argumentos que podem ser do tipo inteiro ou longo. Na função, a
é o dividendo enquanto b é o divisor. Ele retorna o módulo de piso dos dois argumentos passados para a função. O modo de dizer a
e b
produzirá um resultado maior ou igual a 0 e menor que b.
Aqui no código fornecido abaixo, a variável num1
é exatamente divisível por num2
; portanto, o resto é 0. Para o segundo cenário, temos num3
e num4
do mesmo sinal e dá um resto do mesmo sinal apenas.
Mas se considerarmos o terceiro cenário onde o dividendo num5
é positivo enquanto o divisor num6
é negativo, o restante carregará o sinal do divisor. Da mesma forma, no último caso, dividendo, num7
ainda é negativo; o resultado carrega apenas o sinal do divisor positivo.
import java.lang.Math;
public class Main {
public static void main(String[] args) {
int num1 = 20, num2 = 4;
System.out.println(Math.floorMod(num1, num2));
int num3 = 113, num4 = 30;
System.out.println(Math.floorMod(num3, num4));
int num5 = 113, num6 = -30;
System.out.println(Math.floorMod(num5, num6));
int num7 = -113, num8 = 30;
System.out.println(Math.floorMod(num7, num8));
}
}
Resultado
0 23 - 7 7
Use o operador %
para calcular o mod de dois números em Java
O operador %
restante também é usado para a operação restante. Há uma diferença sutil entre mod e resto. Como mencionado acima, a resultante para o mod de aeb é sempre maior ou igual a 0 e menor que b (divisor).
Se considerarmos o exemplo dado abaixo usando num1% num2, determinamos se num1
é par ou ímpar. Se a condição em que o restante de num1% num2 for igual a 0, o número será par, mais ímpar. Na operação%, a resultante carrega o sinal do dividendo, que é visível se pegarmos num3 % num2
. A equação -23 % 2
é igual a -1, portanto, o sinal do dividendo.
Da mesma forma, se o dividendo for positivo, o resto resultante é positivo. Por exemplo, num1 % num4
resulta num resto positivo. A equação 17 % -3
é igual a 2.
public class ModTest {
public static void main(String args[]) {
int num1 = 17;
int num2 = 2;
boolean result = false;
if (result = (num1 % num2) == 0) {
System.out.println("Number " + num1 + " is even");
} else {
System.out.println("Number " + num1 + " is odd");
}
int num3 = -23;
int num4 = -3;
System.out.println("Remainder1: " + num3 % num2);
System.out.println("Remainder2: " + num1 % num4);
}
}
Resultado
Number 17 is odd Remainder1 : -1 Remainder2 : 2
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn