📅  最后修改于: 2023-12-03 14:42:12.530000             🧑  作者: Mango
BigInteger 类是 Java 中处理大整数运算的类,该类提供了许多方法来执行各种运算,包括加减乘除、求幂、求余数等等。其中,shortValueExact() 方法可以将 BigInteger 对象转换为 short 类型,并在转换时进行检查,以确保结果在 short 类型的范围内。
下面是 BigInteger shortValueExact() 方法的签名:
public short shortValueExact()
该方法返回该 BigInteger 对象的 short 类型值。
如果该 BigInteger 对象的值超出了 short 类型的范围,则该方法将抛出 ArithmeticException 异常。
下面是使用 shortValueExact() 方法将 BigInteger 对象转换为 short 类型的示例:
import java.math.BigInteger;
public class BigIntegerDemo {
public static void main(String[] args) {
BigInteger bigInteger = new BigInteger("32767");
short shortValue = bigInteger.shortValueExact();
System.out.println("Short value: " + shortValue);
bigInteger = new BigInteger("32768");
try {
shortValue = bigInteger.shortValueExact();
System.out.println("Short value: " + shortValue);
} catch (ArithmeticException e) {
System.out.println(e.getMessage());
}
}
}
上面的示例中,首先创建了一个值为 32767 的 BigInteger 对象 bigInteger,并使用 shortValueExact() 方法将其转换为 short 类型,结果为 32767。接着,创建了一个值为 32768 的 BigInteger 对象 bigInteger,由于其超出了 short 类型的范围,因此在将其转换为 short 类型时,抛出了 ArithmeticException 异常,其消息为“BigInteger out of short range”。
上述代码的输出结果如下:
Short value: 32767
BigInteger out of short range