Ich versuche, den Wert einer Fibonacci-Folge bei gegebener Ganzzahl N zu finden, die den n-ten Term mithilfe einer ArrayList darstellt (meine Logik ist, dass ArrayList dynamisch sind und ihre Größe unabhängig von der Zahl ändern kann gegeben ist). Beispielsweise sollte 3 1 ergeben, 4 sollte 2 ergeben usw. Unten ist mein Code
public static Integer NacciTerm (int x){
ArrayList arr = new ArrayList ();
arr.add(0,0);
arr.add(1,1);
if (x == 1 || x == 0) {
System.out.println(Integer.toString(arr.get(x)));
}
else{
for(int i = 2; i < x; i++)
{
int valueOfTerm = 0;
arr.add(i,valueOfTerm);
valueOfTerm = arr.get(i-1) + arr.get(i-2);
arr.set(i,valueOfTerm);
}
}
return arr.get(x);
}
Wenn ich versuche, es in meiner Hauptmethode auszuführen, erhalte ich immer dann, wenn ich eine Zahl >= 2 eingebe, diese Fehlermeldung:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 2
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:373)
at java.base/java.util.ArrayList.get(ArrayList.java:427)
at FibonnaciSequence.NacciTerm(FibonnaciSequence.java:36)
at FibonnaciSequence.main(FibonnaciSequence.java:69)
Irgendwelche Vorschläge oder Gründe dafür?
Warum funktioniert meine Methode nicht, um den Wert der Fibonacci-Folge für den n-ten Term zu ermitteln? ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post