Generierte Dokumentation der praktischen Arbeit von Simon Tiffert


Hauptseite | Pakete | Klassenhierarchie | Alphabetische Liste | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente

main.ausgabe.Ausgabe Klassenreferenz

Zusammengehörigkeiten von main.ausgabe.Ausgabe:

Collaboration graph
[Legende]
Aufstellung aller Elemente

Ausführliche Beschreibung

Die Klasse formatiert den Inhalt der Matrix für die grafische Ausgabe und gibt diese auf den angegebenen Ausgabestrom aus.

Dabei wird sowohl die initiale Matrix, sowie die Matrix mit dem gesuchten Wert ausgegeben.

Version:
Revision
1.15
Autor:
Simon Tiffert

Definiert in Zeile 35 der Datei Ausgabe.java.

Öffentliche Methoden

 Ausgabe (Matrix matrix, BufferedWriter bw) throws IOException
 Konstruktor, der die Ausgabe erzeugt.


Private Methoden

void keinWegGefundenAusgabe (BufferedWriter bw) throws IOException
 Funktion, die ausgibt, dass keine Sprungfolge gefunden wurde.

void ausgabe (BufferedWriter bw, boolean zustand) throws IOException
 Diese Funktion gibt die Matrix grafisch auf dem angegebenen Ausgabestrom aus.


Private Attribute

Matrix matrix
 Die zentrale Datenstruktur mit der Matrix.


Beschreibung der Konstruktoren und Destruktoren

main.ausgabe.Ausgabe.Ausgabe Matrix  matrix,
BufferedWriter  bw
throws IOException
 

Konstruktor, der die Ausgabe erzeugt.

Übergeben werden die Matrix und der BufferedWriter der Ausgabedatei. Erzeugt wird dann einmal die Eingabe in Matrixansicht, sowie die durch Verarbeitung gewonnene Matrix mit Wegdaten.

Parameter:
matrix Zentrale Datenstruktur mit Matrix
bw BufferedWriter der Ausgabedatei
Ausnahmebehandlung:
IOException Ausgabedatei konnte nicht geschrieben werden

Definiert in Zeile 52 der Datei Ausgabe.java.

Benutzt main.ausgabe.Ausgabe.matrix.

00053   {
00054     // setze das Attribut matrix
00055     this.matrix = matrix;
00056 
00057     // Matrix im Anfangszustand ausgeben; Zustand 'false'
00058     this.ausgabe(bw, false);
00059 
00060     // wenn ein Weg gefunden wurde, dann wird die Matrix im Endzustand 
00061     // ausgegeben; Zustand 'true'
00062     if (matrix.isWegGefunden())
00063     {
00064       this.ausgabe(bw, true);
00065     }
00066     // ansonsten erfolgt die Ausgabe, dass kein Weg gefunden wurde
00067     else
00068     {
00069       this.keinWegGefundenAusgabe(bw);
00070     }
00071   }


Dokumentation der Elementfunktionen

void main.ausgabe.Ausgabe.ausgabe BufferedWriter  bw,
boolean  zustand
throws IOException [private]
 

Diese Funktion gibt die Matrix grafisch auf dem angegebenen Ausgabestrom aus.

Dabei gibt es zwei Zustände, einmal den Anfangszustand der Matrix, der aus den Eingabedaten erzeugt wird, sowie den Endzustand, der einen gefundenen Weg ausgibt.

Parameter:
bw BufferedWriter für die Ausgabedatei
zustand false: Anfangszustand, true: Endzustand
Ausnahmebehandlung:
IOException Fehler beim Schreiben auf Datei

Definiert in Zeile 107 der Datei Ausgabe.java.

Benutzt main.ausgabe.Ausgabe.matrix.

00109   {
00110     // Hier wird die Ausgabe zusammengebaut
00111     StringBuffer ausgabeString = new StringBuffer();
00112 
00113     // Zeilenumbruch nach Betriebssystem anpassen
00114     String lineEnd = System.getProperty("line.separator");
00115     
00116     // Falls dies scheitert, setze Standard Zeilenumbruch
00117     if (lineEnd == null)
00118     {
00119       lineEnd = "\n";
00120     }
00121 
00122     // Tabulator
00123     String tabulator = "    ";
00124 
00125     // Matrixdimensionen lesen 
00126     int y = matrix.getYDimension();
00127     int x = matrix.getXDimension();
00128 
00129     // Trennzeichen für formatierte Ausgabe ermitteln
00130     String trennzeichen = "+";
00131     
00132     for( int i=0; i<x; i++ )
00133     {
00134       trennzeichen+=" -- +";
00135     }
00136     
00137     // Gib noch einen Header nach Zustand aus
00138     if (zustand)
00139     {
00140       ausgabeString.append(
00141         lineEnd + lineEnd + tabulator + "Ausgabedatei: " + lineEnd);
00142       ausgabeString.append(tabulator + "*************" + lineEnd);
00143     }
00144     else
00145     {
00146       ausgabeString.append(
00147         lineEnd + tabulator + "Eingabedaten: " + lineEnd);
00148       ausgabeString.append(tabulator + "*************" + lineEnd);
00149     }
00150 
00151     // Ausgabe in einer zweifach-geschachtelten for-Schleife
00152     // y-Werte durchlaufen
00153     for (int i = 0; i < y; i++)
00154     {
00155       // erste Zeile der Matrix ausgeben
00156       ausgabeString.append(lineEnd + tabulator);
00157       ausgabeString.append(trennzeichen);
00158       ausgabeString.append(lineEnd + tabulator);
00159 
00160       // x-Werte durchlaufen
00161       for (int j = 0; j < x; j++)
00162       {
00163         // Zeichen an aktueller Matrixposition lesen
00164         // und entsprechend formatieren
00165         String zeichen = " ";
00166         int wert = matrix.getWert(i, j);
00167 
00168         switch (wert)
00169         {
00170           // Gesperrte Felder
00171           case -1 :
00172             zeichen = "X";
00173             break;
00174             // Leere Felder
00175           case 0 :
00176             zeichen = matrix.isStartpunkt(i,j) ? "1" : " ";
00177             break;
00178             // Startpunkt
00179           case 1 :
00180             zeichen = "1";
00181             break;
00182             // Nummern der Sprungfolge
00183           default :
00184             if (zustand)
00185               zeichen = "" + wert;
00186             else
00187               zeichen = " ";
00188         }
00189 
00190         // Zeichen ausgeben
00191         ausgabeString.append(
00192           "| " + (zeichen.length() < 2 ? " " : "") + zeichen + " ");
00193       }
00194       ausgabeString.append("|");
00195     }
00196     // letzte Formatierungszeile ausgeben
00197     ausgabeString.append(lineEnd + tabulator);
00198     ausgabeString.append(trennzeichen);
00199     ausgabeString.append(lineEnd);
00200 
00201     // ist der Debugmodus gesetzt, dann gib die Fehlermeldung
00202     // zusätzlich auf dem Bildschirm aus
00203     if (Main.debug)
00204     {
00205       System.out.println(ausgabeString);
00206     }
00207 
00208     // schreibe in die Ausgabedatei
00209     bw.write(ausgabeString.toString());
00210   }

void main.ausgabe.Ausgabe.keinWegGefundenAusgabe BufferedWriter  bw  )  throws IOException [private]
 

Funktion, die ausgibt, dass keine Sprungfolge gefunden wurde.

Parameter:
bw BufferedWriter der Ausgabedatei
Ausnahmebehandlung:
IOException Fehler beim Schreiben auf Datei

Definiert in Zeile 79 der Datei Ausgabe.java.

00081   {
00082     String s = "    Keine Sprungfolge gefunden - Aufgabe unlösbar";
00083 
00084     // gib im Debugmodus die Information auch auf dem Bildschirm aus
00085     if (Main.debug)
00086     {
00087       System.out.println(s);
00088     }
00089 
00090     // schreibe die Meldung in die Ausgabedatei
00091     bw.write(System.getProperty("line.separator"));
00092     bw.write(s);
00093   }


Dokumentation der Datenelemente

Matrix main.ausgabe.Ausgabe.matrix [private]
 

Die zentrale Datenstruktur mit der Matrix.

Definiert in Zeile 38 der Datei Ausgabe.java.

Wird benutzt von main.ausgabe.Ausgabe.ausgabe() und main.ausgabe.Ausgabe.Ausgabe().


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:



Documentation created with Doxygen 1.3.6 Fri May 14 11:15:36 2004