Java Mod ExampleIn Java, mod (or modulo) is an operator that is used to determine the remainder. Java provides Math.floorMod() method that can be used instead of a modulo (or modulus) operation and % operator to perform the remainder operation. Here, a point to note is that they act the same when the numbers are positive but much differently when the numbers are negative. In sort,
Remainder.java Output: When Divisor is 3: -6 rem 3 = 0 -5 rem 3 = -2 -4 rem 3 = -1 -3 rem 3 = 0 -2 rem 3 = -2 -1 rem 3 = -1 0 rem 3 = 0 1 rem 3 = 1 2 rem 3 = 2 3 rem 3 = 0 4 rem 3 = 1 5 rem 3 = 2 6 rem 3 = 0 When Divisor is -3: -6 rem -3 = 0 -5 rem -3 = -2 -4 rem -3 = -1 -3 rem -3 = 0 -2 rem -3 = -2 -1 rem -3 = -1 0 rem -3 = 0 1 rem -3 = 1 2 rem -3 = 2 3 rem -3 = 0 4 rem -3 = 1 5 rem -3 = 2 6 rem -3 = 0 Modulo.java Output: When Divisor is 3: -6 mod 3 = 0 -5 mod 3 = 1 -4 mod 3 = 2 -3 mod 3 = 0 -2 mod 3 = 1 -1 mod 3 = 2 0 mod 3 = 0 1 mod 3 = 1 2 mod 3 = 2 3 mod 3 = 0 4 mod 3 = 1 5 mod 3 = 2 6 mod 3 = 0 When Divisor is -3: -6 mod -3 = 0 -5 mod -3 = -2 -4 mod -3 = -1 -3 mod -3 = 0 -2 mod -3 = -2 -1 mod -3 = -1 0 mod -3 = 0 1 mod -3 = -2 2 mod -3 = -1 3 mod -3 = 0 4 mod -3 = -2 5 mod -3 = -1 6 mod -3 = 0 Using Math.floorMod() MethodThe Java Math class provides the floorMod() method to determine the modulo of an integer argument. The method accepts two parameters (dividend and divisor) of type int. The method returns the floor modulus x - (floorDiv(x, y) * y). Syntax:The method throws ArithmaticException if the divisor (y) is 0. Note that the floor modulus has the same sign as the divisor y and is in the range of -abs(y) < r < +abs(y). The floorMod() and floorDiv() has the following relationship.Also, note that floorMod() and % operator are not the same, there is a slight difference between them. The difference is due to floorDiv() method because it returns an integer less than or equal to the quotient and the operator returns the integer closest to zero. Remember:
For example, consider the following:
If the sign of arguments is unknown and we required a positive modulus, we can use the following statement. FloorModExample.java Output: 3 % -2 = 1 floorMod(3, -2) = -1 Note: Which one to choose, remainder % or modulo Math.floorMod(). It depends on what we are going to build; both act the same for positive numbers but remember to take care of the negative result to avoid the common drawbacks as we discussed above.Therefore, we can conclude that mod and remainder are not the same. Next TopicStone Game in Java |
We provides tutorials and interview questions of all technology like java tutorial, android, java frameworks
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India