Hallo an alle.
Ich bin Erstsemester an der uni und neu in java, also habt bitte auch ein wenig Mitleid.
Meine Aufgabe lautet:
Schreiben Sie ein Programm FibonacciRekArray.java, welches zusätzlich ein Array bereitstellt, dass bereits berechnete Fibonaccizahlen speichern kann. Die Methode fib(int n) soll dazu schauen, ob die Fibonaccizahl für n eventuell schon gespeichert wurde, und dann das gespeicherte Ergebnis zurückgeben. Anderenfalls soll die Zahl nach der rekursiven Formel berechnet und sodann gespeichert werden.
Mein bisheriger Quellcode:
Wie man sieht und Eclipse auch anzeigt, wird in der Methode kein Wert zurück gegeben.
Das ist nämlich mein Problem. Ich hab momentan keine Ahnung wie ich an die Fibonacci-Zahl des Arrays komme, um diese dann auszugeben.
Außerdem weiß ich nicht wie man in der Methode nachsehen kann, ob das Ergebnis schon gespeichert ist.
Hoffentlich ist mein Algorithmus nicht zu falsch.
vielen dank schon einmal im voraus.
Ich bin Erstsemester an der uni und neu in java, also habt bitte auch ein wenig Mitleid.
Meine Aufgabe lautet:
Schreiben Sie ein Programm FibonacciRekArray.java, welches zusätzlich ein Array bereitstellt, dass bereits berechnete Fibonaccizahlen speichern kann. Die Methode fib(int n) soll dazu schauen, ob die Fibonaccizahl für n eventuell schon gespeichert wurde, und dann das gespeicherte Ergebnis zurückgeben. Anderenfalls soll die Zahl nach der rekursiven Formel berechnet und sodann gespeichert werden.
Mein bisheriger Quellcode:
Java:
public class FibonacciRekArray {
public static int aufrufe;
public static long[] fibs;
public static long fib(long n) {
++aufrufe;
fibs[0]=0;
fibs[1]=1;
fibs[2]=1;
for (int i = 3; i <= fibs.length; i++) {
fibs[i] = fibs[i-1] + fibs[i-2];
}
}
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
fibs = new long[n + 1];
aufrufe = 0;
System.out.println(fib(n));
System.out.println("fib wurde " + aufrufe + " mal aufgerufen.");
}
}
Wie man sieht und Eclipse auch anzeigt, wird in der Methode kein Wert zurück gegeben.
Das ist nämlich mein Problem. Ich hab momentan keine Ahnung wie ich an die Fibonacci-Zahl des Arrays komme, um diese dann auszugeben.
Außerdem weiß ich nicht wie man in der Methode nachsehen kann, ob das Ergebnis schon gespeichert ist.
Hoffentlich ist mein Algorithmus nicht zu falsch.
vielen dank schon einmal im voraus.