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;
}
}
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;
}
}