Hat jemand Verbesserungsvorschläge für dieses Programm?

Hallo, ich versuche gerade ein Programm zu schreiben (in Java Eclipse), das folgende Aufgabenstellung hat:

Das Programm soll alle Fibonacci-Zahlen in einem geschlossenen Intervall [a, b] als kommagetrennte Liste ausgeben. Ausnahme: die Zahlen, die durch 3 teilbar sind, sollen durch ";" separiert sein. Die natürlichen Zahlen a und b müssen vom Benutzer eingegeben werden.

Beispiel 1 (blau = Benutzereingabe):

a: 3
b: 100
Fibonacci=3;5,8,13,21;34,55,89

Beispiel 2:

a: 12
b: 800
Fibonacci=13,21;34,55,89,144;233,377,610

UND Teil 2

Das Programm soll noch eine Liste mit den ungeraden Fibonacci-Zahlen und den Intervallenden a und b ausgeben. Auch hier gilt, dass alle Zahlen, die durch 3 teilbar sind, durch einen folgenden Strichpunkt zu kennzeichnen sind. Eine Zahl darf nicht doppelt in der Ausgabe vorkommen. 

Für obige Eingabe sollte also zusätzlich folgende Zeile ausgegeben werden:

Beispiel 1

ungerade Fibonacci=[3;5,13,21;55,89,100]

Beispiel 2

ungerade Fibonacci=[12;13,21;55,89,233,377,800]

Soviel zur Aufgabenstellung.
Bis jetzt habe ich folgendes ( siehe Bild) geschafft. Meine Problem: wenn der Benutzer zum Beispiel für a 10 und für b 20 eingibt, dann zeigt das Programm die zehnte bis zwanzigste Zahl, aber es sollte eigentlich nur 13 anzeigen. Des Weiteren weis ich nicht, was ich machen sollte, damit nach jeder ungeraden Zahl ein ; steht. und Teil 2 der Aufgabe ist mir auch nicht klar, aber ich wäre schon glücklich genug, wenn mir jemand bei Teil 1 helfen könnte!

Danke und liebe Grüße!

Bild zum Beitrag
Computer, Programmierer, programmieren, Java, Informatik, Informatiker