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 classimport 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 : 322 mod 6 is : 4
例2:
// Java code to show implementation of// mod(long x, long m) method of Guava's// LongMath classimport 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-
