1

私のプログラムは、ループの以前の反復の 1 つで何らかの理由でインデックス 4 を必要とし、サイズが 1 である範囲外のインデックス例外を私に与えています。

別のデータ構造を使用できることはわかっていますが、これが機能しない理由を突き止めようとして夢中になっています。

デバッグ ステートメントの出力は 3,3 です

package euler2;
import java.util.LinkedList;

public class Euler2 {

    public static void main(String[] args) {
        LinkedList fibNumbers = new LinkedList<>();
        fibNumbers.add(0,1);
        fibNumbers.add(1,2);
        System.out.println(fibNumbers.size() + (int) fibNumbers.indexOf(fibNumbers.getLast()));
        while ((int) fibNumbers.getLast() < 4000000) {
            System.out.println(fibNumbers.size() + (int) fibNumbers.indexOf(fibNumbers.getLast()));
            fibNumbers.addLast(fibNumbers.get((int)(fibNumbers.size()) + (int) fibNumbers.get(fibNumbers.size() - 1)));
        }

        fibNumbers.removeLast();

        int sum = 0;

        for (int x = 0; x < fibNumbers.size(); x++) {
            sum = sum + (int) fibNumbers.get(x);
        }

        System.out.println(sum);
    }
}
4

0 に答える 0