Fibonacci Zahlen Rekursion Iteration

tresixo

Neues Mitglied
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

Gesperrter Benutzer
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

Top Contributor
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

Neues Mitglied
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

Top Contributor
[ 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?
 

Neue Themen


Oben