Java Tutorium

[Problemlösung]

Wie gehe ich eine Aufgabe an?



    A.) Bausteine


  1. Variablen

    Welche Variablen benötige ich für das Programm?
    Welchen Typ muss eine Variable haben? int für ganze Zahlen, float oder double für Kommazahlen, boolean für Wahrheitswerte und char für Buchstaben.
    Wenn man eine Zeichenkette benötigt bietet sich String an. Achtung String ist ein Objekt und kein Variablentyp. Die Deklaration und Initialtisierung ist allerdings ähnlich.

  2. Schleifen

    Wird eine bestimmte Anweisung, bzw. bestimmte Anweisungen öfters wiederholt, bieten sich Schleifen an. for für eine genau zu benennende Anzahl von Wiederholunge, while sowohl für eine best. Anzahl von Wiederholungen, als auch Wiederholungen, die an einen Wahrheitswert geknüpft sind, do-while für Anweisungen, die mindestens einmal ausgeführt werden.
    -> Siehe auch Schleifen.

  3. Kontrollstrukturen

    Wenn eine Entscheidung innerhalb des Programms gefällt werden muss, benötigt man:
    if für eine Abweichung vom normalen Programmfluss
    if-else für zwei mögliche Abweichungen vom Programmfluss
    und switch für mehrere Möglichkeiten.
    -> Siehe auch if/else/switch



  4. B.) Programmfluss


  5. Nachdem man die Bausteine für das Programm gesammelt hat, muss man diese zueinander so anordnen, dass sie den Verlauf des Programms so wiedergeben, dass das Programm der Aufgabe gerecht wird.
    Dazu folgende Grundregeln:
    • Zu Beginn des Programms werden die Variablen deklariert und initialisiert (das selbe gilt für Objekte).
    • Danach folgen Schleifen oder Kontrollstrukturen, die ineinander geschachtelt sein können.


  6. C.) Fehlerkontrolle


  7. Zuletzt kontrolliert man das Programm auf mögliche Fehler:
    • Werden alle Anweisungen mit einem Semikolon beendet?
    • Sind genauso viele offene geschweifte Klammern, wie geschlossene geschweifte Klammern im Programm vorhanden?
    • Lautet der Klassenname (z.B. class RechenBeispiel) genauso wie der Dateiname der .java-Datei (RechenBeispiel.java)?
    • Sind alle Variablen vor der Benutzung in Schleifen und Kontrollstrukturen initialisiert (= mit einem Startwert versehen)?
    • Wird der Datenbereich einer Variablen innerhalb des Programmflusses überschritten (z.B. ein Wert von über einer Milliarde für eine Variable des Typs Integer)?
    • Kann es sein, dass innerhalb des Programmflusses eine Zahlvariable durch Null geteilt wird?
    • Sind alle Schlüssekworte richtig geschrieben, haben sich keine Tippfehler eingeschlichen?
    • Werden bei Vergleichen zwei == verwendet (if (x==5)) und bei Zuweisungen nur eines (x=5)?
    Ein Tipp noch zum Umgang mit den Fehlermeldungen des Compilers: Falls mehrere unterschiedlche Fehler ausgegeben werden, kann es sich um Folgefehler handeln. Dann sollte man den ersten gemeldeten Fehler beseitigen und nochmals compilieren.