Fibonacci Zahlen rekursiv und iterativ

Weiß jemand, wie der Quellcode zum Rechnen von Fibonacci Zahlen geht? Falls ja, dann bitte rekursiv und iterativ. Und am Besten so, dass es im Programm BlueJ geht, wenn nicht ist auch nicht schlimm.
Schonma danke im voraus
 
Beste Antwort
Unter Zuhilfenahme von https://www.java-tutorial.org/projekterstellung-bluej.html *könnte* der Quellcode unter BlueJ z.B. wie folgt aussehen:
Java:
public class fib
{
public static long fib(int n) {
if(n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fib(n-1) + fib(n-2); //der rekursive Aufruf
}
}
public static void main(String[] args) {
    System.out.println("6: " +fib(6));
        System.out.println("4: " +fib(4));
    System.out.println("3: " +fib(3));

}
}
Noch ein Nachtrag zum Code: das wird sicher in der Klausur als Lösung akzeptiert. Korrekterweise müsste man sich überlegen, was passiert, wenn die Methode mit einem negativen n aufgerufen wird. Hier bietet es sich im echten Leben an, eine Exception zu werfen.
 
Danke, dass sie mir helfen, aber wir haben in der Schule ein anderes Programm. BlueJ heißt es und da sind paar Änderungen, hab schon einige Sachen aus dem Internet kopiert und eingefügt, da kamen dann viele Fehler. Hab auch schon versucht in mein Laptop zu installieren, klappt aber nicht.
 
Danke, dass sie mir helfen, aber wir haben in der Schule ein anderes Programm. BlueJ heißt es und da sind paar Änderungen, hab schon einige Sachen aus dem Internet kopiert und eingefügt, da kamen dann viele Fehler. Hab auch schon versucht in mein Laptop zu installieren, klappt aber nicht.
Da wäre dann mein Ratschlag, sich mit den Details um Hilfe zu bemühen:
- Was genau hast Du versucht?
- Was sind die genauen Fehlermeldungen?

Ich bin sicher, dass wir BlueJ auch bei Dir installiert bekommen werden 🙂

Denn wie es schon angesprochen wurde: Am Besten lernt man durch praktische Übungen. Fremden Code lesen und dann mehr oder weniger "auswendig lernen" bringt nichts, denn das Wichtige ist ja auch die Transferleistung: Wie kommt man von einer Problematik hin zu funktionierendem Code. Aus der Erfahrung hier im Forum liegen da die meisten Probleme bei Anfängern. Daher ist eine lokale Installation zum Üben mit am Besten.

Aber davon unabhängig mag die Bedienung unterschiedlich sein, aber so einfache Java Codes lassen sich in eigentlich jeder IDE schreiben, also auch in der angebotenen Online Variante.
 
Da wäre dann mein Ratschlag, sich mit den Details um Hilfe zu bemühen:
- Was genau hast Du versucht?
- Was sind die genauen Fehlermeldungen?

Ich bin sicher, dass wir BlueJ auch bei Dir installiert bekommen werden 🙂

Denn wie es schon angesprochen wurde: Am Besten lernt man durch praktische Übungen. Fremden Code lesen und dann mehr oder weniger "auswendig lernen" bringt nichts, denn das Wichtige ist ja auch die Transferleistung: Wie kommt man von einer Problematik hin zu funktionierendem Code. Aus der Erfahrung hier im Forum liegen da die meisten Probleme bei Anfängern. Daher ist eine lokale Installation zum Üben mit am Besten.

Aber davon unabhängig mag die Bedienung unterschiedlich sein, aber so einfache Java Codes lassen sich in eigentlich jeder IDE schreiben, also auch in der angebotenen Online Variante.
Ich hab es zwar installiert, aber 1. das ist eine neuere Version un in der Schule benutzen wir eine ältere Version und 2. ich weiß jetzt nicht, wie man das nennt, aber wir haben in der Schule schon Ordner in denen z.B. steht was jeder einzelne Code zu bedeuten hat, damit wir dort halt programmieren können. Ich habe fast alle Ordner auch in mein Laptop reingetan, und hab dann die Sachen aus der Schule kopiert und in mein Laptop eingefügt. Da kamen sehr viele Fehler.
 
Warum hast du dann nicht einfach schnell gesucht und den link reingepostet ? Wäre besser gewesen als deine Zeit mit dem schreiben eines Kommentars zu verschwenden , der absolut nicht weiterhilft .
Er sollte aber weiterhelfen, denn der Kommentar sollte dazu anregen, eigenständig zu einer Lösung zu kommen. Daher wäre hier die Frage wichtig: Wenn Du es probiert hast und keine brauchbaren Treffer hattest: Wonach hast Du gesucht?

Generell sind liegen hier die Begriffe doch auf der Hand, also etwas wie;
Fibonacci Java Iterativ
Fibonacci Java Rekursiv

Und da hat man dann direkt viele gute Treffer.

Daher denke ich, dass auch diese Antwort von @mihe7 durchaus hilfreich gewesen ist. Und zudem hat er in diesem Thread ja auch deutlich mehr geschrieben. Daher ist ein solcher Vorwurf für mich unverständlich. Und selbst wenn eine Antwort in Deinen Augen nicht hilfreich ist (Was ja durchaus sein kann): Dann extra einen Account erstellen nur um dies zu schreiben? Wenn eine konkrete Nachfrage gekommen wäre ...

Aber egal - ich werde mich mit dieser konkreten Thematik nicht weiter beschäftigen, da ich nicht sehe, wohin es führen könnte ...
 
Da kamen sehr viele Fehler
Also da ist - wie bereits gesagt - wichtig, dass man Detail erfährt. Was für Fehler kommen genau?

Eine mögliche Fehlerursache (So ich einfach mal wild raten müsste) könnte sein, dass Bibliotheken nicht eingebunden wurden, die Du für gewisse Projekte einbinden musst. Unter Windows müsste dies über Werkzeuge -> Einstellungen gehen und dort dann der Reiter Bibliotheken. Erweiterungen gibt es da auch als Reiter - da könnte man ggf. auch etwas finden, das man benötigt.

Ggf. kann man aus Fehlermeldungen ablesen, was ggf. fehlt. Ansonsten wären das Stellen, die man sich in der Schule ansehen kann um zu sehen, was da ggf. eingestellt ist.
 
Unter Zuhilfenahme von https://www.java-tutorial.org/projekterstellung-bluej.html *könnte* der Quellcode unter BlueJ z.B. wie folgt aussehen:
Java:
public class fib
{
public static long fib(int n) {
if(n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fib(n-1) + fib(n-2); //der rekursive Aufruf
}
}
public static void main(String[] args) {
    System.out.println("6: " +fib(6));
        System.out.println("4: " +fib(4));
    System.out.println("3: " +fib(3));

}
}
 
Beste Antwort
Warum hast du dann nicht einfach schnell gesucht und den link reingepostet ? Wäre besser gewesen als deine Zeit mit dem schreiben eines Kommentars zu verschwenden , der absolut nicht weiterhilft .
Zu wissen, wie und wo man ohne fremde Hilfe etwas findet, hilft in meinen Augen nun einmal weiter als fertige Lösungen - und sei es in Form eines Links - hinzuklatschen. Und natürlich habe ich das vor meinem Kommentar selbst gegoogelt, sonst hätte ich nicht mit Sicherheit behaupten können, dass zwei Begriffe in Google reichen.

Jetzt fasse ich mal zusammen: erst wird nach einer fertigen Lösung gefragt, dann wird geantwortet, dass hier keine HA gelöst werden, worauf hin es dann heißt, man würde für eine Klausur lernen, ausprobieren könne man nicht, weil man nicht in der Schule sei. Das Angebot, den Spaß durchzugehen, wird nicht angenommen, trotzdem beantworte ich die Frage, ob der genannte Code das richtige macht und gebe noch einen Link für einen online Java-Compiler mit. Plötzlich kommt BlueJ ins Spiel und als Lösung wird dann ein fertiges Programm, das sich vermutlich in BlueJ ausführen lässt, markiert. Ziel erreicht, Hausaufgabe durch Nichtstun gerettet.
 

Zurück
Oben