Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为BigInteger数组中的A元素赋值时出错_Java_Biginteger - Fatal编程技术网

Java 为BigInteger数组中的A元素赋值时出错

Java 为BigInteger数组中的A元素赋值时出错,java,biginteger,Java,Biginteger,这是我的密码。当我创建BigInteger数组并尝试赋值时,它显示了一个错误 package test; import java.math.*; import java.lang.*; import java.util.*; public class Test { public static void main(String[] args) { BigInteger[] coef = new BigInteger[78]; int a=24;

这是我的密码。当我创建BigInteger数组并尝试赋值时,它显示了一个错误

package test;
import java.math.*;
import java.lang.*;
import java.util.*;

public class Test {


    public static void main(String[] args) {

        BigInteger[] coef =  new BigInteger[78];
        int a=24;
        coef[a]=676557656534345345654645654654645645645645665656567; // Error comes here why
        System.out.println(coef[a]);
    }
}

Java有静态类型,自动装箱只对基本类型(如int到Integer)的包装器启用,但对BigInteger不启用。你必须这样做

new BigInteger("676557656534345345654645654654645645645645665656567") 

显式。

Java具有静态类型,并且自动装箱仅对基本类型的包装器启用,如int到Integer,但不适用于biginger。你必须这样做

new BigInteger("676557656534345345654645654654645645645645665656567") 

显式。

首先是数字光栅器,然后是2147483647,将不允许作为输入,因为int范围是-2147483648:2147483647。如果您的输出大于此数字,它将自动反转到其最低值,即-2147483648

对于要与BigInteger一起操作的位数,请将该数字作为字符串

至于你的问题,我建议使用

coef[a]=new BigInteger("676557656534345345654645654654645645645645665656567"); 
由于它提供了java.lang.Math中的所有相关方法,您可以通过在其中传递字符串来执行算术运算

我制作了法波纳契系列,当一个大数字传递给它时,它会产生巨大的输出

看看


希望它能帮助你

首先,不允许将2147483647作为输入,因为int范围为-2147483648:2147483647。如果您的输出大于此数字,它将自动反转到其最低值,即-2147483648

    public static void main(String[] args) {
        BigInteger[] coef = new BigInteger[78];
        int a = 24;
        coef[a] = new BigInteger("676557656534345345654645654654645645645645665656567");
        System.out.println(coef[a]);
    }
对于要与BigInteger一起操作的位数,请将该数字作为字符串

至于你的问题,我建议使用

coef[a]=new BigInteger("676557656534345345654645654654645645645645665656567"); 
由于它提供了java.lang.Math中的所有相关方法,您可以通过在其中传递字符串来执行算术运算

我制作了法波纳契系列,当一个大数字传递给它时,它会产生巨大的输出

看看

希望它能帮助你

永远记住

    public static void main(String[] args) {
        BigInteger[] coef = new BigInteger[78];
        int a = 24;
        coef[a] = new BigInteger("676557656534345345654645654654645645645645665656567");
        System.out.println(coef[a]);
    }
所有大于2147483647的数字都不允许作为输入,因为int范围是-2147483648到2147483647,永远不要忘记它。 如果只是为了以防万一,您的输出大于限制,它将反转到其最低值,即-2147483648

我建议您使用:

coef[a]=new BigInteger("324576565343453456546456546546456456456455643671"); 
所有重要函数都在java.lang.Math类中,您可以通过向其传递字符串来执行算术运算。

请始终记住

所有大于2147483647的数字都不允许作为输入,因为int范围是-2147483648到2147483647,永远不要忘记它。 如果只是为了以防万一,您的输出大于限制,它将反转到其最低值,即-2147483648

我建议您使用:

coef[a]=new BigInteger("324576565343453456546456546546456456456455643671"); 

所有重要函数都在java.lang.Math类中,您可以通过向其传递字符串来执行算术运算。

Coef是我假设的对象6765576567是一个原语,因为它不是对象,我想它是一个长的。如果你想在那里分配一个BigInteger,你必须用BigInteger.valueOf实例化一个新的。它不是一个长的,只代表9位整数值。请注意我的问题,如果是gud editJava int,它是一个略多于9位的十进制数字31位加号;长约为19位63位加号@JiangTejava Java long需要显式后缀,不像C和C++,其中int的十进制字太长,自动长或长。Coef是对象,我假定67 655 76565656567是一个本原,因为它不是对象,我猜想它是长的。如果你想在那里分配一个BigInteger,你必须用BigInteger.valueOf实例化一个新的。它不是一个长的,只代表9位整数值。请注意我的问题,如果是gud editJava int,它是一个略多于9位的十进制数字31位加号;长约为19位63位加号@JiangTejava Java long需要显式后缀,不像C和C++,其中int的十进制字太长,自动长或长。超过2 ^ { 31 } - 1的int计算环绕,但源文字被简单地拒绝。长文本和浮点文本在数值上可能更大,但没有一个能够准确表示所需的值。超过2^{31}-1的int计算会结束,但源文本会被简单地拒绝。长文本和浮点文本在数字上可以更大,但没有一个可以准确表示所需的值。请在回答中包含比固定代码更多的内容。解释你改变了什么,以及为什么。请在你的答案中包含更多,而不仅仅是固定代码。解释你改变了什么,以及为什么。