# Fibonacci Zahlen Rekursion Iteration



## tresixo (17. Sep 2014)

Moin!
Ich habe versucht die Rekusion und Iteration von der Fibonacci Zahlen Folge bei BlueJ zu programmieren. Ich komme einfach nicht weiter. Mir werden andauernd Fehler beim return Ergebnis angezeigt und in der Anwendung ergibt sich auch keine Zahl im Textfeld.
Falls mir jemand helfen kann, schonmal vielen Dank im Voraus!
/**
 * Die Klasse SuMAnwendung wurde automatisch erstellt: 
 * 
 * @author 
 * @version 2.1.2008
 */

import sum.komponenten.*;
import sum.werkzeuge.*;
import sum.ereignis.*;

public class SuMAnwendung extends EBAnwendung
{
    // Objekte
    private Etikett hatEtikettZahl;
    private Etikett hatEtikettErgebnis;
    private Textfeld hatTextfeld1;
    private Textfeld hatTextfeld2;
    private Knopf hatKnopfRekursion;
    private Knopf hatKnopfIteration;
    private int rekursion=0;
    private int iteration=0;


    private int Ergebnis=0;

    // Attribute
    /**
     * Konstruktor
     */
    public SuMAnwendung()
    {
        //Initialisierung der Oberklasse
        super(1067, 928);

        hatEtikettZahl = new Etikett(133, 197, 100, 25, "Zahl");
        // Ausrichtung
        hatEtikettZahl.setzeAusrichtung(Ausrichtung.LINKS);
        hatEtikettErgebnis = new Etikett(420, 197, 100, 25, "Ergebnis");
        // Ausrichtung
        hatEtikettErgebnis.setzeAusrichtung(Ausrichtung.LINKS);
        hatTextfeld1 = new Textfeld(132, 125, 100, 25, "");
        // Ausrichtung
        hatTextfeld1.setzeAusrichtung(Ausrichtung.LINKS);
        hatTextfeld2 = new Textfeld(420, 125, 100, 25, "");
        // Ausrichtung
        hatTextfeld2.setzeAusrichtung(Ausrichtung.LINKS);
        hatKnopfRekursion = new Knopf(266, 267, 100, 25, "Rekursion");
        hatKnopfRekursion.setzeBearbeiterGeklickt("hatKnopfRekursionGeklickt");
        hatKnopfIteration = new Knopf(266, 314, 100, 25, "Iteration");
        hatKnopfIteration.setzeBearbeiterGeklickt("hatKnopfIterationGeklickt");
    }

    public int fib(int k)
    {

        if(k<=1)
        { 
            if (k==0)
            {
           Ergebnis= 0; 
            return Ergebnis;
        }
            else
            {
            Ergebnis= 1;
            return Ergebnis;
        }
        }


            else
            {
                Ergebnis=fib(k-1) + fib(k-2);
                return Ergebnis;

            }
        }



       public static int Iteration (int n)
       {
          int fibominus1=1;
            int fibominus2=0;
            int fibo;

           for (int x = 1; x < n; x++){
                fibo = fibominus1 + fibominus2;
                fibominus2 = fibominus1;
                fibominus1 = fibo;
            }
            return fibo;

        }

        /**
         * Vorher: Ereignis GeklicktvonhatKnopfRekursion fand statt.
         * Nachher: (schreiben Sie, was in dieser Methode ausgefuehrt wird)
         */
        public void hatKnopfRekursionGeklickt()
        {
            int k=hatTextfeld1.inhaltAlsGanzeZahl();
            fib(k);
            hatTextfeld1.setzeInhalt(Ergebnis);
        }

        /**
         * Vorher: Ereignis GeklicktvonhatKnopfIteration fand statt.
         * Nachher: (schreiben Sie, was in dieser Methode ausgefuehrt wird)
         */
        public void hatKnopfIterationGeklickt()
        {
int n= hatTextfeld2.inhaltAlsGanzeZahl();
          Iteration(n);
       hatTextfeld2.setzeInhalt(fibo;
        }

    }


----------



## JavaMeister (17. Sep 2014)

Es wurde keine Fehlermeldung gepostet.
Java Programm in Java Tags schreiben.
Die Eingabe wurde nicht genannt und das zu ewartende Ergebnis fehlt und was tatsächlich passiert.


----------



## Gucky (17. Sep 2014)

Hinzu deine Gedanken zu diesem Fehler, was du schon getan hast, woran es liegen könnte, ggf. welche Zeile diesen Fehler hervorruft, was passieren soll, was stattdessen passiert, ob der Fehler von unterschiedlichen Eingaben abhängt usw.


----------



## tresixo (17. Sep 2014)

Super, vielen Dank!
Wie schreibe ich das in Java Tags um ?
Wie nenne ich die Eingabe und was meinst du mitwas tatsächlich passiert?


----------



## Gucky (17. Sep 2014)

[ JAVA]DEIN CODE ohne Leerzeichen im ersten Tag[/code]

Du brauchst gar nicht sarkastisch zu werden. Die Kristallkugel, die wir alle haben ist nämlich ein Gerücht.

Gibt es unterschiedliche Fehler bei unterschiedlichen Eingaben. Tritt der Fehler vielleicht manchmal gar nicht auf?


----------



## JavaMeister (17. Sep 2014)

Was gibst du ein, und was kommt raus? Und was hast du statt dessen erwartet?


----------

