CheckSubtract (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 diferencia.
Sintaxis:
public static long checkedSubtract(long a, long b)
Parámetros: El método acepta dos valores largos a y b y calcula su diferencia.
Valor devuelto: el método devuelve la diferencia de los valores largos que se le pasan, siempre que no se desborde.
Excepciones: El métodocheckSubtract(long a, long b) lanza ArithmeticException si la diferencia, 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 // checkedSubtract(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 checkedSubtract(long a, long b) // method of Guava's LongMath class long ans1 = LongMath.checkedSubtract(a1, b1); System.out.println("Difference of " + a1 + " and " + b1 + " is: " + ans1); long a2 = 150; long b2 = 667; // Using checkedSubtract(long a, long b) // method of Guava's LongMath class long ans2 = LongMath.checkedSubtract(a2, b2); System.out.println("Difference of " + a2 + " and " + b2 + " is: " + ans2); } }
Producción:
Difference of 25 and 36 is: -11 Difference of 150 and 667 is: -517
Ejemplo 2:
// Java code to show implementation of // checkedSubtract(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 checkedSubtract(long a, long b) method // of Guava's LongMath class // This should throw "ArithmeticException" // as the difference overflows in signed // long arithmetic long ans = LongMath.checkedSubtract(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