CheckMultiply (long a, long b) es un método de la clase LongMath de Guava que acepta dos parámetros a y b , y devuelve su producto.
Sintaxis:
public static long checkedMultiply(long a, long b)
Parámetros: El método acepta dos valores largos a y b y calcula su producto.
Valor devuelto: el método devuelve el producto de los valores largos que se le pasan, siempre que no se desborde.
Excepciones: El métodocheckMultiply(long a, long b) arroja ArithmeticException si el producto, es decir, (a – b) se desborda en aritmética larga con signo.
Los siguientes ejemplos ilustran la implementación del método anterior:
Ejemplo 1:
// Java code to show implementation of // checkedMultiply(long a, long b) 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 a1 = 25; long b1 = 36; // Using checkedMultiply(long a, long b) // method of Guava's LongMath class long ans1 = LongMath.checkedMultiply(a1, b1); System.out.println("Product of " + a1 + " and " + b1 + " is: " + ans1); long a2 = 150; long b2 = 667; // Using checkedMultiply(long a, long b) // method of Guava's LongMath class long ans2 = LongMath.checkedMultiply(a2, b2); System.out.println("Product of " + a2 + " and " + b2 + " is: " + ans2); } }
Producción:
Product of 25 and 36 is: 900 Product of 150 and 667 is: 100050
Ejemplo 2:
// Java code to show implementation of // checkedMultiply(long a, long b) method // of Guava's LongMath class import java.math.RoundingMode; import com.google.common.math.LongMath; class GFG { static long findDiff(long a, long b) { try { // Using checkedMultiply(long a, long b) method // of Guava's LongMath class // This should throw "ArithmeticException" // as the product overflows in signed // long arithmetic long ans = LongMath.checkedMultiply(a, b); // Return the answer return ans; } catch (Exception e) { System.out.println(e); return -1; } } // Driver code public static void main(String args[]) { long a = Long.MIN_VALUE; long b = 452; try { // Function calling findDiff(a, b); } catch (Exception e) { System.out.println(e); } } }
Producción:
java.lang.ArithmeticException: overflow
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA