Wednesday, July 3, 2024
HomeLanguagesJavaJava Guava | pow(int b, int k) method of IntMath Class

Java Guava | pow(int b, int k) method of IntMath Class

The method pow(int b, int k) of Guava’s IntMath class returns b to the kth power. Even if the result overflows, it will be equal to BigInteger.valueOf(b).pow(k).intValue(). This implementation runs in O(log k) time.

Syntax:

public static int pow(int b, int k)

Exception: The method pow(int b, int k) throws IllegalArgumentException if k < 0.

Example 1:




// Java code to show implementation of
// pow(int b, int k) method of Guava's
// IntMath class
  
import java.math.RoundingMode;
import com.google.common.math.IntMath;
  
class GFG {
  
    static int findPow(int b, int k)
    {
  
        // Using pow(int b, int k)
        // method of Guava's IntMath class
        int ans = IntMath.pow(b, k);
  
        // Return the answer
        return ans;
    }
  
    // Driver code
    public static void main(String args[])
    {
        int b = 4;
        int k = 5;
  
        int ans = findPow(b, k);
  
        System.out.println(b + " to the " + k
                           + "th power is: "
                           + ans);
  
        b = 12;
        k = 3;
  
        ans = findPow(b, k);
  
        System.out.println(b + " to the " + k
                           + "th power is: "
                           + ans);
    }
}


Output:

4 to the 5th power is: 1024
12 to the 3th power is: 1728

Example 2 :




// Java code to show implementation of
// pow(int b, int k) method of Guava's
// IntMath class
import java.math.RoundingMode;
import com.google.common.math.IntMath;
  
class GFG {
  
    static int findPow(int b, int k)
    {
  
        try {
            // Using pow(int b, int k)
            // method of Guava's IntMath class
            // This should throw "IllegalArgumentException"
            // as k < 0
            int ans = IntMath.pow(b, k);
  
            // Return the answer
            return ans;
        }
        catch (Exception e) {
            System.out.println(e);
            return -1;
        }
    }
  
    // Driver code
    public static void main(String args[])
    {
        int b = 4;
        int k = -5;
  
        try {
            // Using pow(int b, int k)
            // method of Guava's IntMath class
            // This should throw "IllegalArgumentException"
            // as k < 0
            IntMath.pow(b, k);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}


Output:

java.lang.IllegalArgumentException: exponent (-5) must be >= 0

Reference: https://google.github.io/guava/releases/20.0/api/docs/com/google/common/math/IntMath.html#pow-int-int-

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments