Java 如何将BigInteger与数组一起使用?

Java 如何将BigInteger与数组一起使用?,java,arrays,biginteger,fibonacci,Java,Arrays,Biginteger,Fibonacci,我正在修改我的斐波那契序列器,这样在达到第100项后的数字就不会变为负数。 如何在我编写的代码中使用BigInteger: package me.kevinossia.mystuff; import java.util.Scanner; public class FibonacciDisplayer { public static void main(String[] args) { Scanner input = new Scanner(System.in); int

我正在修改我的斐波那契序列器,这样在达到第100项后的数字就不会变为负数。 如何在我编写的代码中使用BigInteger:

package me.kevinossia.mystuff;

import java.util.Scanner;

public class FibonacciDisplayer 
{
public static void main(String[] args)
{

    Scanner input = new Scanner(System.in);
    int total;
    System.out.print("This is a Fibonacci sequence displayer.\nHow many numbers would you like it to display?");
    total = input.nextInt();
    long[] series = new long[total];
    series[0]=0;
    series[1]=1;

    for(int i=2;i<total;i++)
    {
        series[i]=series[i-1] + series[i-2];
    }
    for(int j=0; j<total; j++)
    {
        System.out.print(series[j] + "\n");
    }
    input.close();
}
}
package me.kevinosia.mystuff;
导入java.util.Scanner;
公共类光纤放大器显示器
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
整数合计;
System.out.print(“这是一个斐波那契序列显示器。\n您希望它显示多少个数字?”);
总计=输入。nextInt();
长[]系列=新长[总计];
级数[0]=0;
系列[1]=1;

对于(inti=2;i如果您确定只想使用biginger,那么您应该考虑创建biginger数组

BigInteger[] series = new BigInteger[total];
series[0]=BigInteger.ZERO;
series[1]=BigInteger.ONE;

and in loop do
series[i] = series[i-1].add(series[i-2])

请参阅此API

如果total也是BigInteger,则

BigInteger total = new BigInteger("1000000000000000");
BigInteger[] series = new BigInteger[total.intValue()];
series[0] = BigInteger.ZERO;
series[1] = BigInteger.ONE;
series[i] = series[i-1].add(series[i-2]);

嗯…所以用
biginger
而不是
long
?转到这个链接。希望这能对你有所帮助:“我在谷歌上下搜索过,找不到任何与我的情况相关的东西。”.你搜索了什么?我相信如果你搜索BigInteger,你会找到很多关于如何使用它的例子…我找到了,只是没有找到任何关于斐波那契序列的例子。非常感谢,除了我不熟悉零和一。我在javadocs上看到了它们,但它没有说它们是什么,或者至少我没有看到。@Kevinosia如果你是的话不熟悉这一点,只需将BigInteger.valueOf(0L)或BigInteger.valueOf(1L)放在一起,就会得到相同的结果