Java Code Verständnis

Moritz1234

Mitglied
Java:
public class Fibanoci {

    public static void main(String[] args)
    {
        int zahl = 10;
        int [] array = new int[zahl+1];
        System.out.print(fib(zahl, array));
    }

    public static int fib(int n, int [] array)
    {
        if(n==0)
        {
            return 0;
        }
        else if(n==1)
        {
            return 1;
        }
        else
        {
            if(array[n]!=0)
            {
                return array[n];
            }
            else
            {
                array[n]=fib((n-1),array) + fib((n-2),array);
                return array[n];
            }

        }
    }

}
Guten Tag! Ich habe hier einen rekursiven Code zur Fibonacci Folge und verstehe ihn leider nicht gaanz so. Ich verstehe nicht wie das Programm am ende auf die Zahlen kommt, da das Array was in der main mitgegeben wird auf 0 gesetzt ist. Soweit ich weiss gebe ich dem Array nur die größe mit also 10? Verstehe auch nicht ganz wieso ich da [zahl+1] machen muss. Klingt vielleicht etwas blöd aber wie kommt den der auf die Zahl 55 am ende, wenn das Array nur 0 werte hat? Ich weiss im Grunde wie Fibanocci funktioniert aber kann den Code kaum nachvollziehen.

Danke im voraus falls mir das jemand für dummies erklären kann (bin Anfänger).
 

fhoffmann

Top Contributor
Sinn des Arrays ist es, dass keine Werte doppelt berechnet werden müssen. Sobald ein Wert berechnet ist, wird er in dem Array gespeichert. Beim nächsten Aufruf wird er nicht neu berechnet, sondern aus dem Array gelesen (und zwar dann, wenn der Wert in dem Array größer als 0 ist).
 

LimDul

Top Contributor
10 ist die (hartkodierte) Fibonacci-Zahl, die berechnet werden soll.

Wenn du du die Fibonacci Zahl 10 berechnest, hast du am Ende die Fibonacci Zahlen von 0 bis 10 berechnet - also 11 Stück. Deswegen braucht das Array eins mehr Platz als die Zahl.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java Code Verständnis Java Basics - Anfänger-Themen 4
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
N Java-Code abwärtskompatibel machen Java Basics - Anfänger-Themen 4
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
I Erklärung zum Java Code Java Basics - Anfänger-Themen 2
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
Gaudimagspam Caesars Code entziffern in Java Java Basics - Anfänger-Themen 8
X Reverse algorithm engineering (Java code) Java Basics - Anfänger-Themen 6
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
C Klassendiagramm aus Java-Code entwickeln Java Basics - Anfänger-Themen 3
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
T Java Code erklären Java Basics - Anfänger-Themen 7
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
E ASCII-Code in Java ausgeben Java Basics - Anfänger-Themen 6
L Wie kann man fehlerfrei im Java Code auf die fxml Datei zugreifen? Java Basics - Anfänger-Themen 26
D Text als Code in java-forum.com formatieren. Wie ? Java Basics - Anfänger-Themen 3
P Java-Code funktioniert nicht Java Basics - Anfänger-Themen 13
snipesss Java-Code gedownloaded, funktioniert aber nicht? Java Basics - Anfänger-Themen 9
T Java Code erklären Java Basics - Anfänger-Themen 5
S Hinweis zu Fehler im Kalender-Code - Aufgabe 5.3 aus Grundkurs Programmieren in Java 7. Auflage Java Basics - Anfänger-Themen 4
A Zeichentool mit automatischer Java Code Erstellung Java Basics - Anfänger-Themen 1
Nicole1989 Was Bewirkt dieser Java Code? Java Basics - Anfänger-Themen 4
S Input/Output JS Source code in Java nutzen Java Basics - Anfänger-Themen 1
J Java was Started but Returned Exit Code=13 in Eclipse Java Basics - Anfänger-Themen 13
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
I Java Code so gut es geht Kommentieren Java Basics - Anfänger-Themen 4
K Suche Hilfe bei einfachem Java Code ( Debuggen ) Java Basics - Anfänger-Themen 1
T Java Code Hilfe - public void xxx() Java Basics - Anfänger-Themen 2
C CMD Befehl + Variable im Java-Code ausführen Java Basics - Anfänger-Themen 8
B Variablen im Java-Code selber "ausrechnen" Java Basics - Anfänger-Themen 8
O Rätsel Java Code Java Basics - Anfänger-Themen 8
O Forum: Per Java-Code anmelden? Java Basics - Anfänger-Themen 2
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28
M Code recompilen mit älterem Java Java Basics - Anfänger-Themen 3
C Fehler in Java-Code finden Java Basics - Anfänger-Themen 17
K Java source code generieren Java Basics - Anfänger-Themen 5
H Java- Source Code Java Basics - Anfänger-Themen 8
F uralter Java Code Java Basics - Anfänger-Themen 3
L Library nötig, obwohl nicht in Java-Code verwendet Java Basics - Anfänger-Themen 4
N Mac - Java Code aus dem Forum kopieren Java Basics - Anfänger-Themen 12
J VB Code mit Java ausführen lassen? Java Basics - Anfänger-Themen 2
W Java-Code auf Konsole ausgeben - Wie? Java Basics - Anfänger-Themen 10
K Java Code rechnen Java Basics - Anfänger-Themen 7
S Hilfe - java.lang.RuntimeException: Uncompilable source code - incompatible types Java Basics - Anfänger-Themen 10
A Stück Java code im laufenden Betrieb einlesen und ausführen Java Basics - Anfänger-Themen 9
V Vom Aktivitätsdiagramm zum Java-Code Java Basics - Anfänger-Themen 12
saxman Java Source Code Download Java Basics - Anfänger-Themen 2
H Hilfe bei Java Code Java Basics - Anfänger-Themen 3
X Objektorientierte Java Programmierung - 3 Fragen zum Code Java Basics - Anfänger-Themen 5
astralarse JNI: Echt(!) nativen Code in Java ausführen? Java Basics - Anfänger-Themen 6
C Bäume in Java. Code funktioniert nicht Java Basics - Anfänger-Themen 12
zilti Externen Java-Code laden Java Basics - Anfänger-Themen 3
G Java Code -> RTF Java Basics - Anfänger-Themen 6
G source code von Java classes Java Basics - Anfänger-Themen 12
G Jar-File erzuegen, das Code a verschiedenen Java Versionen? Java Basics - Anfänger-Themen 4
D Probleme bei Code Portierung von C# nach Java [Gelöst] Java Basics - Anfänger-Themen 4
L UML in Java-Code Java Basics - Anfänger-Themen 5
J Java-Code in UML 2.0 Java Basics - Anfänger-Themen 38
D Java Code verbessern? Java Basics - Anfänger-Themen 8
B Java 1.0 Code in NetBeans IDE 5.0 ??? Java Basics - Anfänger-Themen 4
M Benutzung von fremden Java-Code mit Eclipse Java Basics - Anfänger-Themen 3
M Source Code von java.util.SubList Java Basics - Anfänger-Themen 2
G PHP Code -> Java Code Java Basics - Anfänger-Themen 6
M Aus WSDL Java-Code generieren. Java Basics - Anfänger-Themen 1
C Problem mit Code aus "Sprechen Sie Java" Java Basics - Anfänger-Themen 13
D HTML code in java generieren. Java Basics - Anfänger-Themen 6
S Java Compiler? oder doch der Code? Java Basics - Anfänger-Themen 6
F Fehler im Java Code, hilfe? Java Basics - Anfänger-Themen 9
A aus Java-Code eine jar-Datei ausführen Java Basics - Anfänger-Themen 8
B Code von Java-Funktionen einsehen Java Basics - Anfänger-Themen 2
M String als Java-Code ausführen Java Basics - Anfänger-Themen 4
B Wie funktioniert die implementierung von c code in Java? Java Basics - Anfänger-Themen 7
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben