Java 8 | Método BigInteger shortValueExact() con ejemplos

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);
    }
}
Producción:

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);
    }
}
Producción:

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);
        }
    }
}
Producción:

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);
        }
    }
}
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *