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:

[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:

- Ausgabe.java

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