Guava – LongMath.mod方法与实例
Guava的LongMath类的mod(long x, long m)方法接受两个参数x和m,并用于计算x在m下的模数值。
语法:
public static long mod(long x, long m)
参数: 该方法接受两个参数x和m,它们都是长类型的,用来计算x对m的模数。
返回值: 该方法返回x对m的模数,它将是一个小于m的非负值。
异常: 如果m<=0,该方法mod(long x, long m)会抛出ArithmeticException。
以下例子说明了mod(long x, long m)方法。
例1 :
// Java code to show implementation of
// mod(long x, long m) method of Guava's
// LongMath class
import java.math.RoundingMode;
import com.google.common.math.LongMath;
class GFG {
// Driver code
public static void main(String args[])
{
long x1 = -77;
long m1 = 4;
long ans1 = LongMath.mod(x1, m1);
// Using mod(long x, long m)
// method of Guava's LongMath class
System.out.println(x1 + " mod "
+ m1 + " is : " + ans1);
long x2 = 22;
long m2 = 6;
long ans2 = LongMath.mod(x2, m2);
// Using mod(long x, long m)
// method of Guava's LongMath class
System.out.println(x2 + " mod "
+ m2 + " is : " + ans2);
}
}
输出:
-77 mod 4 is : 3
22 mod 6 is : 4
例2:
// Java code to show implementation of
// mod(long x, long m) method of Guava's
// LongMath class
import java.math.RoundingMode;
import com.google.common.math.LongMath;
class GFG {
static long findMod(long x, long m)
{
try {
// Using mod(long x, long m)
// method of Guava's LongMath class
// This should throw "ArithmeticException"
// as m <= 0
long ans = LongMath.mod(x, m);
// Return the answer
return ans;
}
catch (Exception e) {
System.out.println(e);
return -1;
}
}
// Driver code
public static void main(String args[])
{
long x = 11;
long m = -5;
try {
// Function calling
findMod(x, m);
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
java.lang.ArithmeticException: Modulus must be positive
参考: https://google.github.io/guava/releases/20.0/api/docs/com/google/common/math/LongMath.html#mod-long-int-