Forte for Java – Teil II

 

Nachdem wir uns im letzten Tutorium damit beschäftigt haben, wie wir in Forte einen Ordner für unsere Java–Dateien auswählen / anlegen, eine bereits vorhandene Java–Datei öffnen oder eine neue Datei erstellen und diese dann bearbeiten, kompilieren und ablaufen lassen können, wollen wir uns diese Woche mit dem erstellen von Projekten und dem Arbeiten mit dem Debugger beschäftigen.

 

Erstellen von Projekten

Wofür sind Projekte überhaupt sinnvoll?

Wenn ihr ein komplexes Programm mit mehreren Klassen schreiben möchtet, ist es sinnvoll, ein neues Projekt für dieses Programm zu erstellen, da so nämlich die Klassen direkt zusammengefasst sind. Das Arbeiten mit Projekten bietet die Möglichkeit einfach das Programm auf andere Computer zu kopieren und dort zu importieren. Das Programm kann als ganzes kompiliert werden oder der Debugger kann angewandt werden.

Wie werden nun Projekte erstellt?

Nach dem Start von Forte ruft ihr das Menü "Project" auf. Als erster Punkt steht ganz oben in der Liste "new Project". Der folgende Dialog fragt nach einem Namen für das neue Projekt. Wenn ihr nun einen Namen eingetragen habt, könnt ihr wählen, ob ihr ein bereits vorhandenes Verzeichnis verwenden wollt oder ein neues erstellen wollt. Nach der Frage, ob das alte Project gespeichert werden soll, folgt nun die Auswahl des Verzeichnisses. Wie im letzten Tutorium beschrieben, könnt ihr nun ein Verzeichnis auswählen und nach der Bestätigung kann nun mit der Arbeit im neuen Projekt angefangen werden.

 

 

Der Debugger

Bugs sind leider bekannte Größen in der Software und selten ist gekaufte Software frei von ihnen. Auch eure Programme werden leider nicht selten vom Bug befallen, was sich in endlosen Kompilermeldungen oder nicht abbrechenden Zahlenkolonnen am Bildschirm äußert. Um dem Bug nun zu Leibe zu rücken, könnt ihr ein kleines, zusätzliches und nützliches Tool benutzen: den Debugger. (de - bug - ger)

Der Debugger kann euch auf mehrere, verschiedene Weisen nützlich sein:

 

Breakpoints

Zum einen könnt ihr Breakpoints setzen. Ein Breakpoint dient als Abbruchstelle für den Debug-Vorgang, d.h. das Programm wird bis zu dem Breakpoint abgelaufen. Dort könnt ihr nun kontrollieren, was im Programm bis an diese Stelle passiert ist und ob das Ergebnis dem entspricht, was ihr erwartet habt. Der Breakpoint wird gesetzt, indem ihr an der gewünschten Stelle im Code einfach die rechte Maustaste drückt. Nun müsst ihr den Punkt "add / remove breakpoint" auswählen – also das entfernen bereits vorhandener Breakpoints funktioniert genauso - und danach einfach im Menü Debug den Punkt "start debugging" wählen oder "F5" drücken. Natürlich können auch mehrere Breakpoints gesetzt werden. Der Debugger hält dann am ersten Breakpoint an und man kann sich die Ergebnisse anzeigen lassen. Um nun zum nächsten Breakpoint zu springen, wählt ihr einfach im Menü "Debug" den Punkt "Continue" aus oder drückt "Alt – F5".

 

Watches

Ein anderes wichtiges Hilfsmittel sind die Watches. Mit ihnen können wir uns den Wert von Variablen genau aufschlüsseln lassen. Wenn also eure Laufvariable i nicht bei 1000 abbricht, sondern euch endlose Zahlenkolonnen auf den Bildschirm zaubert, könnt ihr mit einer Watch beobachten wie und ob sich die Variable überhaupt ändert. Gesetzt wird die Watch genau wie der Breakpoint. Mit der linken Maustaste wird der gewünschte Variablenname im Code angeklickt, so dass der Cursor auf dem Namen steht. Dann könnt ihr über die rechte Maustaste den Punkt "add Watch" auswählen.

 

Als dritte Gruppe der Debugger – Hilfsmittel zählen die Threads. Threads dienen in Java dazu verschiedene Prozesse zu steuern. Diese Threads können mit dem gleichnamigen Debugger–Hilfsmittel überwacht werden. Da Threads aber kein notwendiger Bestandteil eines Java-Programms sind werden diese nun auch nicht weiter betrachtet.

 

Die Ergebnisse

Das Wichtigste fehlt nun aber noch: wo findet man denn nun überhaupt die Ergebnisse?

Im Debugger – Menü gibt es den Eintrag "Debugger –Window" (auch mit der Tastenkombination "Alt – 5" zu erreichen). Hier können alle Debugger Ereignisse beobachtet werden.

 

 

Aufgaben:

 

 

Der Quellcode:

public static void main(String argv[]) {


double pi4 = Math.PI/4.;
double result = pi4; // Das Ergebnis, also sqrt(2)/2
int cycles = 10; // Anzahl der Zyklen
double factor = 1.; // Faktor
double x = pi4; // Variable

for (int i = 1; i < cycles; i++) {
double h = 1 / ((2*i + 1) * 2*i);
factor = factor * h;
x = x*pi4*pi4;
result = result + factor * (i%2 == 0 ? 1. : -1.) * x;
}

System.out.println("sin(Pi/4) = " + result);

}