Home »
Java »
Java Reference »
Java BigInteger Class
Java BigInteger Class | modInverse() Method with Example
BigInteger Class modInverse() method: Here, we are going to learn about the modInverse() method of BigInteger Class with its syntax and example.
Submitted by Preeti Jain, on May 11, 2020
BigInteger Class modInverse() method
- modInverse() method is available in java.math package.
- modInverse() method is used to calculate the mod inverse by using the inverse of (this BigInteger) mod the given BigInteger (val).
- modInverse() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
- modInverse() method may throw an exception at the time of returning mod inverse.
ArithmeticException: This exception may throw when the given parameter holds value 0 or negative.
Syntax:
public BigInteger modInverse(BigInteger val);
Parameter(s):
- BigInteger val – represents the object by which to calculate mod inverse.
Return value:
The return type of this method is BigInteger, it returns the mod inverse value by using [ inv (this BigInteger) mod (BigInteger val) ].
Example:
// Java program to demonstrate the example
// of BigInteger modInverse(BigInteger val) method of BigInteger
import java.math.*;
public class ModInverseOfBI {
public static void main(String args[]) {
// Initialize three variables str1 , str2 and str3
String str1 = "101";
String str2 = "13";
String str3 = "10";
// Initialize three BigInteger objects
BigInteger b_int1 = new BigInteger(str1);
BigInteger b_int2 = new BigInteger(str2);
BigInteger b_int3 = new BigInteger(str3);
// Display b_int1 , b_int2 and b_int3
System.out.println("b_int1: " + b_int1);
System.out.println("b_int2: " + b_int2);
System.out.println("b_int3: " + b_int3);
System.out.println();
// Here, we are calculating modInverse between
// two BigInteger values [inv(this BigInteger
// b_int1) mod (BigInteger b_int3) ] by using
// modInverse(BigInteger) method
BigInteger modinv_val = b_int1.modInverse(b_int3);
System.out.println("b_int1.modInverse(b_int3): " + modinv_val);
// Here, we are calculating modInverse between
// two BigInteger values [inv(this BigInteger
// b_int2) mod (BigInteger b_int3) ] by using
// modInverse(BigInteger) method
modinv_val = b_int2.modInverse(b_int3);
System.out.println("b_int2.modInverse(b_int3): " + modinv_val);
}
}
Output
b_int1: 101
b_int2: 13
b_int3: 10
b_int1.modInverse(b_int3): 1
b_int2.modInverse(b_int3): 7