java.math.BigInteger.shortValueExact() se introdujo en Java 8. Es una función incorporada que convierte el valor de BigInteger en un valor corto y busca información perdida. Si el valor de BigInteger es mayor que 32 767 o menor que -32 768; el método lanzará ArithmeticException ya que BigInteger no cabe en un rango corto.
Sintaxis:
public short shortValueExact()
Valor devuelto: este método devuelve el valor corto de este BigInteger.
Excepción: el método genera ArithmeticException si el valor de BigInteger es mayor que 32 767 o menor que -32 768; ya que este rango no encaja en el rango corto.
Ejemplo:
Input: 15,564 Output: 15,564 Explanation: 15,564 is given as input which is BigInteger and short value of 15,564 is 15,564 Input: -17,584 Output: -17,584 Explanation: -17,584 is given as input which is BigInteger and short value of -17,584 is -17,584 Input: 40000 Output: ArithmeticException Explanation: When 40000 is tried to convert to short, since 40000 > 32,767 (greater than a short's range), therefore it throws an arithmetic exception.
Los siguientes programas ilustran el método shortValueExact() de la clase BigInteger:
Programa 1: Para demostrar el método shortValueExact() para el número positivo <32,767
// Java program to demonstrate shortValueExact() // method of BigInteger Class import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigInteger object BigInteger big; big = new BigInteger("15564"); // print value of BigInteger System.out.println("BigInteger value : " + big); // convert big to the short value short b1 = big.shortValueExact(); // print short value System.out.println("short converted value : " + b1); } }
BigInteger value : 15564 short converted value : 15564
Programa 2: Para demostrar el método shortValueExact() para un número negativo >-32,768
// Java program to demonstrate shortValueExact() // method of BigInteger Class import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigInteger object BigInteger big = new BigInteger("-17584"); // print value of BigInteger System.out.println("BigInteger value : " + big); // convert big to the short value short b1 = big.shortValueExact(); // print short value System.out.println("short converted value : " + b1); } }
BigInteger value : -17584 short converted value : -17584
Programa 3: Para demostrar el método shortValueExact() para el número negativo <-32,768. Lanzará una excepción aritmética
// Java program to demonstrate shortValueExact() // method of BigInteger Class import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigInteger object BigInteger big = new BigInteger("-40000"); // print value of BigInteger System.out.println("BigInteger value : " + big); try { // convert big to the short value short b1 = big.shortValueExact(); // print short value System.out.println("short converted value : " + b1); } catch (Exception e) { System.out.println("Exception: " + e); } } }
BigInteger value : -40000 Exception: java.lang.ArithmeticException: BigInteger out of short range
Programa 4: Para demostrar el método shortValueExact() para un número positivo >32,767. Lanzará una excepción aritmética
// Java program to demonstrate shortValueExact() // method of BigInteger Class import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigInteger object BigInteger big = new BigInteger("40000"); // print value of BigInteger System.out.println("BigInteger value : " + big); try { // convert big to the short value short b1 = big.shortValueExact(); // print short value System.out.println("short converted value : " + b1); } catch (Exception e) { System.out.println("Exception: " + e); } } }
BigInteger value : 40000 Exception: java.lang.ArithmeticException: BigInteger out of short range
Referencia: https://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html#shortValueExact–
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA