Erste Schritte Fibanocci-Reihen in Java umsetzen

CodeOcean

Mitglied
Hi!

Erstmal: Eine Fibanocci-Reihe, ist eine Zahlen-Reihe bei der immer die Summe der zwei vorangehenden Zahlen, die nächste Zahl ergibt.

Bsp: 0 1 1 2 3 5 8 13 21...

Genau diese wollte ich in Java umsetzen. Dazu sollte ich sagen, dass ich momentan mit dem Buch
"Einführung Java mit BlueJ" lerne. Meiner Meinung, wenn ich das schon haben kann, nach, ist das Buch gut geeignet um für eine solides Grundwissen zu sorgen. Ausserdem komme ich gut mit dem Schreibstil des Autors klar.

Nun bin ich bei Kapitel 6 angelangt, und sollte die besagt Fibanocci-Reihe in ein Programm umwandeln, dass die Zahlen auf der Konsole ausgibt.

Mein Ansatz sah so aus:
Java:
public class zahlen
{
    public static void main(String[] args)
    {
            int wert = 50; 
            int[] zahl = new int[wert];
            for(int i = 0; i == wert; i++)
            { 
              for(int j = 0; j == (zahl[wert -1] + zahl[wert -2]); j++)
              {
                zahl[i] = j; 
                
                if( (j == 0) || (j == 1) ) 
                {
                    System.out.println(j + " "); 
                }
                else 
                {
                    j = zahl[i - 1] + zahl[i - 2]; 
                    System.out.println(j); 
                }
               
              }
            }
    }
}

Es lässt sich zwar kompilieren, aber auf Abruf lässt sich die Konsole nicht blicken. :)
Dann hab ich die Lösung, auf beiliegender Buch-DVD, rausgesucht:

Java:
public class Fibonacci
{
    public static void main(String[] args)
    {
        long f1 = 0; 
        long f2 = 1;

        for(int i = 1; i <= 50; i++)        
        {         
            System.out.println("Die " + i + ". Zahl ist " + f1); 
           
            long temp = f1 + f2; 
            f1 = f2;
            f2 = temp;
        }
        
    }
}

Ich war etwas baff, als ich gesehen hab, mit wie wenig Code er das umgesetzt hat.
Vorallem dieser Gedankengang:
Java:
  long temp = f1 + f2; 
            f1 = f2;
            f2 = temp

So, jetzt zur eigentlichen Frage(Anfängerfrage): Ich hab das jetzt zwar verstanden, aber bin eben nicht selbst drauf gekommen. Ich lerne seit 3 Wochen Java, und frag mich deshalb, ob ich das hätte wissen müssen. Also, ob ich den Gedankengang selbst hätte haben müssen. Ich hab Das Buch durch gearbeitet und so gut wie alles behalten. Also das Grundwissen, das ich dazu gebraucht hätte, war da.

Ging es euch am Anfang auch so?

LG
 

stikio

Mitglied
Im prinzip formuliert er in den 3 zeilen mit dem tausch nur aus, was man sich im kopf denkt ;-)

wenn du den algorithmus verstanden hast, dann musst du nur versuchen ihn in java code umzusetzen.

das geht mal mehr mal weniger schnell,leicht und gut.




dafür braucht es einfach übung ;-)
je mehr man macht, desto mehr techniken lernst du das umzusetzen, was deine zielsetzung ist.
wenn du die aufgabe jetzt gestellt bekommen würdest, dann könntest du einen ganz neuen ansatz probieren :)
 

FaxXer

Mitglied
Ich bin selber noch Anfänger und habe zwischendrinn selber mal aufgehört, weil ich gedacht hab ich blick das ja sowiso nicht. Allerdings ging alles irgendwie besser als ich wieder angefangen habe. Ich denke man braucht einfach Zeit alles zu kapieren und braucht Ehrgeiz.
Also einfach weiter machen ! Es gibt Leute die würden das sofort kapieren, aber vllt etwas anderes nicht was du einfach besser verstehst. Insofern mach das Buch fertig und such dir am besten irgendwelche Programmieraufgaben, die für dich selber nützlich sein könnten. Aber fang wirklich leicht an. Hab mich bei meinem ersten Programm auch überschätzt.
 

stikio

Mitglied
nein, hämische bemerkungen wären hier falsch :)

jeder hat mal angefangen und kann sich sicher zurückerinnern, wie das damals war.

wichtig ist einfach, dass man den willen haben muss das zu verstehen und sich komplexen lösungswegen zu öffnen. wenn man öfter verschiedene aufgaben vor sich hat und sich dazu lösungen ausdenkt und diese versucht in code umzuwandeln, dann lern man immer mehr dazu :)

der eine lernt das schneller, der andere langsamer, aber solang man am ball bleibt und sich damit beschäftigen will, sehe ich da keine probleme
 

Gregorrr

Bekanntes Mitglied
Nein, keine Sorge, du hättest das nicht selber wissen müssen. Du stellst zu viele Erwartungen an dich.

Es gibt einfach "Patterns" die man über die Zeit lernt und kann dann sowas wie du oben gesehen hast, dann irgendwo anders anwenden. (Also dass man eine Zwischenvariable verwendet, bspw.)

Andere Sprachen haben wieder ganz andere "Pattern", z.B. Funktionale Programmiersprachen (Haskell [vorsicht ;)]).

Du kannst ja mal versuchen Fibonacci rekursiv zu definieren, das ist nämlich noch kürzer und schöner.

Außerdem sind 3 Wochen nichts. null. niente. nada. zero. Das kannst lockerer sehen.
 

Landei

Top Contributor
Bleib mal ganz ruhig, es ist völlig normal, dass man erst einmal viel zu kompliziert denkt.

Auch heute noch, nach über 10 Jahren (mehr oder weniger) professioneller Java-Programmierung lerne ich neue Techniken und Tricks, oder entdeckt neue Funktionen in den Java-APIs. Ich schätze mal, über die Hälfte aller Java-Programmierer würde für ein Programm zum Testen auf Palindrome (Wörter, die von hinten gelesen das gleiche ergeben wie von vorn) anfangen, mit irgendwelchen Schleifen zu hantieren, auch wenn es viel einfacher geht:

Java:
String s = "RELIEFPFEILER";
boolean isPalindrome = s.equals(new StringBuilder(s).reverse().toString());

Wichtig ist, dass man nicht stehen bleibt, sondern immer nach neuen, kreativen Lösungen sucht. Guten fremden Code zu lesen hilft, einige gute Bücher helfen, Seiten wie dieses Forum, stackoverflow.com oder codereview.stackexchange.com helfen, aber den Blick dafür kann man sich nur durch eigenes Programmieren erwerben. Und das ist eine gute Sache: Wenn man Programmieren lernen könnte wie Gehwege pflastern, und Programmierer nach eins, zwei Jahren schon alles wissen würden, was man übers Programmieren wissen kann, wäre unsere Arbeit nicht so interessant und begehrt.
 
B

bygones

Gast
Ich schätze mal, über die Hälfte aller Java-Programmierer würde für ein Programm zum Testen auf Palindrome (Wörter, die von hinten gelesen das gleiche ergeben wie von vorn) anfangen, mit irgendwelchen Schleifen zu hantieren, auch wenn es viel einfacher geht:
haha... bei der Frage nach dem Umdrehen eines Strings kommen schon einige immer auf nette Gedanken ;-) mhm Palindrom noch nicht bei Bewerbungen ausprobiert :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
Konsii25 Reihen in Java umdrehen Java Basics - Anfänger-Themen 4
N Operatoren Schreibtischtest der Reihen-Suche nach Aufschluss in die Basics Java Basics - Anfänger-Themen 1
J Input/Output Strings aneinander reihen mit while schleife Java Basics - Anfänger-Themen 25
F Toto-Tipp-Reihen berechnen Java Basics - Anfänger-Themen 1
w0ddes In JTable Reihen programmatisch Auswählen aber für Benutzer sperren Java Basics - Anfänger-Themen 17
X Erste Schritte Java JTable leere Reihen löschen Java Basics - Anfänger-Themen 2
R TableViewer Reihen löschen Java Basics - Anfänger-Themen 2
X Arrays - Erstellen einer Klasse zur Ausgabe von Reihen etc. Java Basics - Anfänger-Themen 12
M Zeichen aneinander Reihen, statt diese zu ersetzen! Java Basics - Anfänger-Themen 3
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
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
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
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
P Java 2n Potenzieren Java Basics - Anfänger-Themen 1
J Java Hamster Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben