我正在尝试创建一个程序,它将在Fibonacci序列中生成数字,直到找到序列中的1,000位数字。 我使用的代码运行正常,并提供有效的输出,但是,我无法检索每个数字的长度; 使用BigInteger我已经将BigInteger转换为String并使用String.length()方法获取长度,但是,我发现这没有给出实际长度,我不明白为什么。
import java.util.ArrayList;
import java.math.BigInteger;
public class problemTwentyFive {
public static void main(String [] args) {
ArrayList fibonacciNumbers = new ArrayList();
boolean validNo = true;
int x = 2;
BigInteger tempAns = new BigInteger(""+0);
fibonacciNumbers.add(new BigInteger(""+x));
fibonacciNumbers.add(new BigInteger(""+x));
do {
tempAns = fibonacciNumbers.get(x-1).add(fibonacciNumbers.get(x-2));
if (tempAns.toString().length() <= 1000) {
System.out.println(tempAns.toString().length());
<